Modifier les attributs du texte d'une cellule dans un document protégé.

Anonyme
2016-03-18T10:12:35+00:00

Bonjour,

J'espère que vous pourrez m'aider à comprendre pourquoi ma macro ne fonctionne pas comme je voudrais et que faire pour y arriver.

J'ai une feuille excel qui me sert de "formulaire" pour  enregistrer les réponses à un certain nombre de questions.

Certaines cellules sont utilisées pour des choix multiples alors que d'autres font appel à des réponses ouvertes.

Ces cellules "ouvertes"  sont "unlock" et je veux y faire apparaître un texte consigne: "Insert comments here" qui disparaît dès que l'on introduit son texte de réponse.

Le texte consigne a une taille et une couleur propre, le texte de la réponse a une autre couleur et une autre taille. 

Tout cela fonctionne avec un code VBA.

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target = Range("D1") Then

        If Target.Text = "" Then

            Target.Value = "Insert Application's Name Here"

            Target.Font.Size = 14

            Target.Font.ColorIndex = 48

            Target.Font.Italic = True

        Else

            Target.Font.Size = 18

            Target.Font.Color = vbBlack

        End If        

    End If

    If Target = Range("D17") Then       

        If Target.Text = "" Then

            Target.Value = "Insert comments here"

            Target.Font.Size = 14

            Target.Font.ColorIndex = 48

            Target.Font.Italic = True

        Else

            Target.Font.Size = 14

            Target.Font.Color = vbBlack

        End If       

    End If

    If Target = Range("D19") Then      

        If Target.Text = "" Then

            Target.Value = "Insert comments here"

            Target.Font.Size = 14

            Target.Font.ColorIndex = 15

            Target.Font.Italic = True

        Else

            Target.Font.Size = 14

            Target.Font.Color = vbBlack

        End If       

    End If

    If Target = Range("D35") Then      

        If Target.Text = "" Then

            Target.Value = "Insert comments here"

            Target.Font.Size = 14

            Target.Font.ColorIndex = 15

            Target.Font.Italic = True

        Else

            Target.Font.Size = 14

            Target.Font.Color = vbBlack

        End If      

    End If

End Sub

Tout roule (presque) tant que je n'ai pas protégé la feuille.

Dès que je met la protection, j'ai un message d'erreur :

" Run-time error '1004':

Unable to set the Size property of the Font class."

Ce message n'apparait plus si j'autorise l'accès au format des cellules dans la boîte de dialogue de protection de la feuille, ce que je ne souhaite pas car cela donne la possibilité de modification du format de toutes les cellules par l'utilisateur.

Je voudrais donc pouvoir uniquement autoriser le formatage de la cellule (ou du Font dans la cellule) par mon code VBA lorsque la cellule concernée est sélectionnée.

J'ai un deuxième problème:

Le changement de couleur et d'attributs de Font fonctionne très bien sur 2 cellules (D1 et D35) et, par contre, pour les 2 autres, j'ai un premier changement qui s'effectue lors de la frappe de texte, puis lors de l'effacement, la cellule ne reprend pas les attributs de départ... 

Merci de m'aider à comprendre...

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

91 réponses

Trier par : Les plus récents
  1. Anonyme
    2016-04-24T09:23:10+00:00

    Bonjour Droopy,

    Daniel, (tu sais ?), me signale que tu es désespéré parce que je t'ai laissé tomber.

    Ce n'est pas vrai, j'espère.

    Je m'appelle Cloopy maintenant, une énième tentative pour échapper au monstre...

    Si tu as besoin, tu sais où me trouver.

    Amicalement, en espérant que la pression va finir par te relâcher, toi aussi.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2016-04-18T07:13:02+00:00

    Bonjour Droopy,

    Il me semble que nous ne pourrons pas aller beaucoup plus loin que ma dernière proposition, du moins dans la formulation actuelle.

    Sauf questions supplémentaires de ta part et comme prévu, je vais mettre fin disons demain à ma carrière sur le Hub.

    Je te remercie grandement, et je te souhaite beaucoup de bien.

    Cordialement

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. Anonyme
    2016-04-15T13:20:32+00:00

    Bonsoir Droopy,

    J'avais juste un peu peur que ça moisisse...

    Merci de ta réponse et bon week-end à toi aussi.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  4. Anonyme
    2016-04-15T12:39:20+00:00

    Salut Patrick,

    Je suis désolé de n'avoir pas été plus présent, mais tu as bien compris que le temps m'a manqué!

    C'est un peu le rush pour l'instant et comme en plus on "dégraisse" parmi le personnel... 

    Bref...

    Je vais donc télécharger les documents que tu as mis à disposition et étudier cela de près.

    Je te tiens au courant dès que j'ai pu tester .

    Encore un tout grand merci pour ton aide et toutes mes excuses pour mon manque d'assiduité.

    En plus, j'ai déjà dû utiliser le fichier "non fini" à plusieurs reprises, et... "ça m'énnerve...!"

    Mais bon... je reste positif et me dis que je finirai bien par y arriver! En plus, tous ces tests et essais me font apprendre aussi, ce qui n'est jamais perdu.

    A+

    Bon weekend.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  5. Anonyme
    2016-04-12T06:35:45+00:00

    Bonjour Droopy,

    Comme tu es très pris, je mets à ta disposition la documentation de la V3 au bout du fil  suivant: http://dl.free.fr/gciS2hX3W 

    N'oublie pas que le fichier sera automatiquement supprimé après 1 mois.

    Je t'ai mis en tête un sommaire d'une page qui te permettra de pointer rapidement sur le sujet qui t'intéresse:

    • le sommaire est dynamique: en Ctrl-cliquant sur le sujet, tu accèderas directement à la page
    • retour au sommaire par Ctrl Début

    La V3 que tu as est en fait très proche de ta propre formulation à ceci près que:

    • le changement de taille n'est pas possible (avec la méthode On Change)
    • je n'ai pas repris tes couleurs de police, mais tu pourras les reconstituer en redéfinissant les mises en forme conditionnelle que j'ai installées
    • le menu de la feuille Questionnaire a été allégé (il reste la commande de réinitialisation), mais s'il te gêne, il suffit d'aller dans le code du WorkBook et de supprimer les lignes des évènements Open et Close.

    Il n'y aura pas de V4, du moins avec l'utilisation de l'évènement Change; et pour l'instant je n'ai pas d'autre piste.

    Naturellement, je recevrai tes questions si tu en poses, donc n'hésite pas.

    C'était un très bon exemple d'application, et je t'en remercie beaucoup.

    Cordialement

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire