[Déplacé .Net --> VBA] DECALAGE par rapport a une cellule

anisse09 Messages postés 11 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 21 septembre 2010 - 29 mars 2010 à 13:10
anisse09 Messages postés 11 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 21 septembre 2010 - 29 mars 2010 à 18:27
Bonjour, voici mon besoin :

J'aimerais que lorsque que j'ecris WS ou ES dans la plage A1:A6, la cellule ( qui est decalé de 3 colonnes ex A1-> D1) s'approprie une couleur selon le contenue de ceux que j'ecris WS ou ES
pour info cela marche lorsque je fais l'exemple avec A1 et non la plage
voici mon code :

Private Sub CommandButton1_Click()

Select Case Range("A1:A6").Value
Case "WS"
Range(Range("A1"), Range("A6")).Offset(0, 3).Interior.ColorIndex = 18

Case "ES"
Range(Range("A1"), Range("A6")).Offset(0, 3).Interior.ColorIndex = 15

End Select

End Sub

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
29 mars 2010 à 18:02
Salut
Oui, ça me parait un peu normal de ne pas pouvoir modifier les attributs de plusieurs cellules en même temps.
C'est, je pense, à toi de faire l'itération des cellules composant le Range :
    Dim maCellule As Object
    For Each maCellule In Range("A1:A6")
        Select Case maCellule.Value 
            Case "WS" 
                maCellule.Offset(0, 3).Interior.ColorIndex = 18 
            Case "ES" 
                maCellule.Offset(0, 3).Interior.ColorIndex = 15 
        End Select
    Next

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
anisse09 Messages postés 11 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 21 septembre 2010
29 mars 2010 à 18:27
Merci cela fonctionne !!!
0
Rejoignez-nous