Microsoft 365 Modifier couleur du texte d'une cellule

pat66

XLDnaute Impliqué
Bonjour le forum,

J'essaie de de rédiger cette syntaxe ainsi, mais je ne sais pas si c'est possible,
pourriez vous me donner un coup de main, s'il vous plaît, l'objectif étant de pouvoir modifier la couleur du texte à chaque clic :

VB:
Sub tauxlight()
Worksheets("Feuil1").Unprotect ("X")
Target = Worksheets("Feuil1").Range("E63")
Target.Font.Color = IIf(Target.Font.Color = RGB(216, 228, 188), RGB(0, 32, 96), RGB(216, 228, 188))
Worksheets("Feuil1").Protect ("X")
End Sub

merci pour votre aide
 
Solution
Non, c'est une instruction exécutable.
Target = Worksheets("Feuil1").Range("E63") ça va affecter à Target la propriété Value par défaut de l'expression range, tandis que Set Target = Worksheets("Feuil1").Range("E63") va y affecter l'objet lui même.

Dranreb

XLDnaute Barbatruc
Bonjour.
Il faut Set devant pour initialiser une variable objet selon une expression objet.
Mais ce ne serait pas nécessaire si c'était écrit dans le module de l'objet Worksheet dans une procédure de prise en charge de son évènement SelectionChange car Target lui serait alors transmis en argument.
 

pat66

XLDnaute Impliqué
Bonjour,

ok, merci du conseil mais hélas "Set", je ne connais pas, j'imagine qu'on parle de déclaration des variables.
Pour des raisons d'usage, cette macro doit être située dans un module classique que j'utilise occasionnellement
 

Dranreb

XLDnaute Barbatruc
Non, c'est une instruction exécutable.
Target = Worksheets("Feuil1").Range("E63") ça va affecter à Target la propriété Value par défaut de l'expression range, tandis que Set Target = Worksheets("Feuil1").Range("E63") va y affecter l'objet lui même.
 

pat66

XLDnaute Impliqué
re,

mille excuses, je m'étais trompé de feuille au lieu de la "Feuil1, c'était la "Feuil2"
Maintenant cela fonctionne sur bien

Voici la solution un grand merci à vous Dranreb

VB:
Sub tauxlight()
Worksheets("Feuil2").Unprotect ("X")
set Target = Worksheets("Feuil2").Range("E63")
Target.Font.Color = IIf(Target.Font.Color = RGB(216, 228, 188), RGB(0, 32, 96), RGB(216, 228, 188))
Worksheets("Feuil2").Protect ("X")
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
314 898
Messages
2 114 011
Membres
112 074
dernier inscrit
Belu81