Famille de feuilles de calcul Microsoft avec des outils pour l’analyse, le graphique et la communication des données.
Essaie avec ce lien (j'ai légèrement modifié le code) :
https://www.dropbox.com/s/8841iyv1k41gkx8/Droopyougo.xlsm?dl=0
Daniel
Ce navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
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...
Famille de feuilles de calcul Microsoft avec des outils pour l’analyse, le graphique et la communication des données.
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.
Essaie avec ce lien (j'ai légèrement modifié le code) :
https://www.dropbox.com/s/8841iyv1k41gkx8/Droopyougo.xlsm?dl=0
Daniel
Bizarre, c'est le code que tu as publié dans ton premier message. Je n'ai fait qu'autoriser la macro à travailler sur la feuille. Peux-tu me dire ce que tu saisis afin que j'essaie de reproduire le problème ?
Daniel
Oui, j'ai testé et... cela fonctionne une fois sur deux...
La couleur et le caractère italique ne s'applique pas à chaque fois...
Je n'ai pas de message d'erreur, mais il semblerait que la macro ne soit pas capable de modifier le format de la cellule...
Bonjour Droopyougo,
Est-ce que tu as testé mon classeur ?
Cordialement.
Daniel
Bonjour Daniel,
Je vous rassure tout de suite, je n'ai aucune intention d'acheter quoi que ce soit et je ne crois pas que le but de Patrick soit de me vendre sa solution.
Je reste également totalement ouvert à toute autre proposition et, si j'arrive a trouver la solution qui fonctionne, il est clair que le code sera publié ici même afin d'en faire profiter les autres membres du forum, et cela quelle que soit la manière dont je serai arrivé à la solution: par moi-même ou avec l'aide d'un ou plusieurs autres membres.
Je ne vais pas tergiverser sur la manière dont Patrick met ses propositions à disposition, chacun fait comme il le sent.
Mais je suis d'accord sur le principe de l'esprit d'un forum qui est le partage ouvert et transparent, les codes mis en ligne devenant de facto publiques...
Merci de votre intérêt et de votre aide.