[VBA] changement couleur cellule
Résolu
Anuca
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
pompom09 Messages postés 55 Date d'inscription Statut Membre Dernière intervention -
pompom09 Messages postés 55 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaiterais changer la couleur d'une cellule lorsqu'on clique sur cette cellule.Par exemple, je clique sur ma cellule une première fois elle devient verte, et si je clique à nouveau dessus elle redevient blanche Est-ce que quelqu'un pourrait m'aider s'il-vous-plaît? (Je commence à peine à utiliser vba, donc je ne connais pas trop ce langage)
Je travaille sur Excel 2010.
Merci d'avance.
Anuca.
Je souhaiterais changer la couleur d'une cellule lorsqu'on clique sur cette cellule.Par exemple, je clique sur ma cellule une première fois elle devient verte, et si je clique à nouveau dessus elle redevient blanche Est-ce que quelqu'un pourrait m'aider s'il-vous-plaît? (Je commence à peine à utiliser vba, donc je ne connais pas trop ce langage)
Je travaille sur Excel 2010.
Merci d'avance.
Anuca.
A voir également:
- Vba changer couleur cellule
- Changer dns - Guide
- Excel cellule couleur si condition texte - Guide
- Excel compter cellule couleur sans vba - Guide
- Changer la couleur de la barre des taches - Guide
- Changer carte graphique - Guide
9 réponses
Salut,
essaye comme cela
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Not Intersect(Selection, Range("B3:B30")) Is Nothing Then
With Target
If Selection.Interior.ColorIndex = xlNone Then
Selection.Interior.ColorIndex = 4
Else
Selection.Interior.ColorIndex = xlNone
End If
End With
End If
End Sub
essaye comme cela
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Not Intersect(Selection, Range("B3:B30")) Is Nothing Then
With Target
If Selection.Interior.ColorIndex = xlNone Then
Selection.Interior.ColorIndex = 4
Else
Selection.Interior.ColorIndex = xlNone
End If
End With
End If
End Sub
Bonsoir Mike-31 et ccm81,
d'abord merci pour votre réponse et j'ai une deuxième question un peu bête pour quelqu'un qui connaît: quand j'exécute le code j'ai cette erreur qui s'affiche: erreur d'exécution 91: variable d'objet ou variable de bloc With non définie et .Interior.ColorIndex = 4 + xlNone - .Interior.ColorIndex est en jaune. Pourtant je pensais avoir défini Target mais sans doute mal: Dim Target As Range. Comment dois-je la déclarer svp?
d'abord merci pour votre réponse et j'ai une deuxième question un peu bête pour quelqu'un qui connaît: quand j'exécute le code j'ai cette erreur qui s'affiche: erreur d'exécution 91: variable d'objet ou variable de bloc With non définie et .Interior.ColorIndex = 4 + xlNone - .Interior.ColorIndex est en jaune. Pourtant je pensais avoir défini Target mais sans doute mal: Dim Target As Range. Comment dois-je la déclarer svp?
Re,
tu as cette possibilité en définissant la plage à surveiller ou inversement
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Selection, Range("B2:Z200")) Is Nothing Then
With Target
.Interior.ColorIndex = 4 + xlNone - .Interior.ColorIndex
End With
End If
End Sub
tu as cette possibilité en définissant la plage à surveiller ou inversement
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Selection, Range("B2:Z200")) Is Nothing Then
With Target
.Interior.ColorIndex = 4 + xlNone - .Interior.ColorIndex
End With
End If
End Sub
1. tu n'as pas à redéfinir Target (cette variable est définie dans l'en tête de la procedure)
2. remplacer B2:B30 par la plage qui t'intéresse
2. remplacer B2:B30 par la plage qui t'intéresse
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
D'accord, à présent j'ai compris pour la plage, en revanche (excusez moi d'être si cruche..). J'essaie dans un programme annexe à celui que je dois créer votre code, et donc dans mon module je mets votre code, ensuite j'appelle dans le même module Call Worksheet_SelectionChange(ByVal Target) et l'erreur 421 s'affiche: objet requis. Je suis donc aller voir dans outils références et je ne sais pas ce qu'il faut que je coche ou décoche?! je suis totalement perdue :(
je ne comprends pas bien ce que tu veux faire
vérifies tout de même que ta procédure est bien écrite au bon endroit
https://www.cjoint.com/?0GDwPJXHW3x
vérifies tout de même que ta procédure est bien écrite au bon endroit
https://www.cjoint.com/?0GDwPJXHW3x
ok, je ne savais pas qu'il fallait la mettre dans un autre endroit que général. donc maintenant ça marche :) mille merci. c'était l'erreur!