XL 2010 Faire défiler les couleurs une cellule à chaque clic

  • Initiateur de la discussion Initiateur de la discussion SSIAP2
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

SSIAP2

XLDnaute Occasionnel
Bonjour à tous

j’espère vous avez tous passer de bonne vacance

je viens vous demander un petit peu d'aide sur un nouveau projet

sur une ma feuil1

en A5 a L34 j'ai des noms de collègues de travail qui si trouvent importer à l'aide de formule.

je souhaiterais une macro que quand je clique sur une cellule de cette plage la cellule cliquez change de couleur:
1 fois la couleur soit jaune colorindex=2
une seconde fois elle deviens rouge colorindex=3
une troisième fois elle deviens verte colorindex=10
une quatrième fois elle redeviens blanche colorindex=2

petite précision le top serait que ce soit en un seul clic car en double clic sa risque de faire apparaitre les formules qui ci trouvent merci d'avance.
 
Bonjour SSIAP2

un essai avec ceci peut-être?!

VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("A5:L34")) Is Nothing Then
If Target.Interior.Color = vbWhite Then: Target.Interior.Color = vbYellow: Range("a1").Activate: Exit Sub
If Target.Interior.Color = vbYellow Then: Target.Interior.Color = vbRed: Range("a1").Activate: Exit Sub
If Target.Interior.Color = vbRed Then: Target.Interior.Color = vbGreen: Range("a1").Activate: Exit Sub
If Target.Interior.Color = vbGreen Then: Target.Interior.Color = vbWhite: Range("a1").Activate: Exit Sub
End If
End Sub
 
Dernière édition:
Bonjour, SSIAP2, Lone-wolf 🙂, le Forum,

Comme ceci ?
VB:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal c As Range)
    Dim plage As Range: Set plage = Range("a5:l34")
    If c.Count > 1 Then Exit Sub
    If Not Intersect(c, plage) Is Nothing Then
        Select Case c.Interior.ColorIndex
        Case xlNone: c.Interior.ColorIndex = 6
        Case 6: c.Interior.ColorIndex = 3
        Case 3: c.Interior.ColorIndex = 10
        Case 10: c.Interior.ColorIndex = xlNone
        End Select
        Application.EnableEvents = False
        c.Offset(, 1).Select
        Application.EnableEvents = True
    End If
End Sub
Nota : une réponse, ici, serait appréciée.

A bientôt 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
1 K
Retour