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

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

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.
 

Lone-wolf

XLDnaute Barbatruc
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:

DoubleZero

XLDnaute Barbatruc
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
 

SSIAP2

XLDnaute Occasionnel
bonjour à vous tous merci à double zero sa fonctionne parfaitement je suis désoler de pas avoir répondu sur l'autre poste c'est surment que je ne l'ai pas vue mais je m'en vais de ce pas rectifier cette oublie merci encore
 

Discussions similaires

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