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-01T06:22:49+00:00

    Bonjour Droopy,

    (La nuit a porté conseil)

    Les champs Application et commentaires:

    • Doivent-ils être saisis séparément,
    • Peuvent-ils être saisis dans la même séquence que les autres champs?

    En d'autres termes: la base de l'organisation actuelle est-elle liée seulement à la préservation des mises en forme originales, ou correspond-elle l'ordre logique du traitement?

    Cordialement

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

    0 commentaires Aucun commentaire
  2. Anonyme
    2016-03-31T17:11:54+00:00

    Bonsoir Droopy,

    Oui, j'ai cette préférence pour la solution 2... à condition qu'elle ne nous pose pas de problèmes de contrôle (peu probable, possible cependant)

    Donc, sachant que nous sommes tous curieux du résultat, je vais commencer par mettre en place la solution 3 qui sera plus facile et nous fournira rapidement un test de mise au point.

    A partir de cette solution, il sera plus facile de mettre au point les réponses aux questions qui fâchent.

    Qu'en pensez-vous ?

    A très vite

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

    0 commentaires Aucun commentaire
  3. Anonyme
    2016-03-31T13:46:35+00:00

    Patrick,

    Si j'ai bien compris, votre préférence irait à la seconde approche, ce qui me semble également la plus simple et logique à mettre en oeuvre.

    Je continue à chercher de mon côté, et nous verrons lorsque vous reviendrez ce que vous aurez éventuellement trouvé comme solution possible.

    Bonne fin de semaine.

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

    0 commentaires Aucun commentaire
  4. Anonyme
    2016-03-31T10:32:31+00:00

    Droopy,

    Ce que je vous soumets sous le lien suivant: http://dl.free.fr/mYuUKsapz

    n'est qu'un support pour mon usage personnel; les questions que je veux vous poser sont à la fin; ne prenez donc pas la peine de relire votre tableau...

    Vous verrez sans doute quelle est ma préférence ...

    Dites ce que vous en pensez

    à partir de maintenant, j'aurai du mal à vous répondre avant le week-end***

    Cordialement

    ***merci de ce cas vraiment intéressant!

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

    0 commentaires Aucun commentaire
  5. Anonyme
    2016-03-31T09:14:11+00:00

    Droopy,

    à la lecture:

    • c'est clair, mais il faut analyser précisément
    • ce que je vous ai proposé ne peut pas régler l'alternance entre:
      • la saisie des titres et commentaires
      • la saisie des réponses aux questions
    • il me semble par contre possible de concevoir une bascule assez intuitive entre les deux modes

    je ne serai pas bruyant dans les prochaines heures, mais il est probable que j'aurai un cinéma d'ici demain soir / Samedi matin.

    vous pouvez retirer votre fichier du site de téléchargement

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

    0 commentaires Aucun commentaire