Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…