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
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.
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.
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
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.