Boucle couleur

cs_benben00 Messages postés 14 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 15 septembre 2004 - 26 mai 2004 à 17:13
HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 - 27 mai 2004 à 10:28
Bonjour,

Je cherche a faire sur vb excel une routine qui s'arrete selon la couleur de la cellule .
exemple :

While cells(x,y) n'est pas ecrite en rouge

Blabla
blabla

wend

Merci par avance

benben

5 réponses

HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 20
27 mai 2004 à 08:57
Bonjour,

Sub boucleCouleur()
Dim maCellule As Range
Set maCellule = Range("A1")

While Not maCellule.Font.ColorIndex = 3
Set maCellule = maCellule.Offset(1, 0)
Wend

MsgBox maCellule

End Sub


Le .Font.ColorIndex correspond à la couleur de la font
Si tu veux chercher en fonction de la couleur de la cellule :
.Interior.ColorIndex

Après, il faut que tu connaisses l'index de ta couleur :)

Fanny
0
cs_benben00 Messages postés 14 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 15 septembre 2004
27 mai 2004 à 08:59
Merci a toi fanny
bisous bye
benben
0
cs_benben00 Messages postés 14 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 15 septembre 2004
27 mai 2004 à 08:59
Merci a toi fanny
bisous bye
benben
0
cs_benben00 Messages postés 14 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 15 septembre 2004
27 mai 2004 à 10:02
En fait j'ai encore un bug avec ton code
alors j'ai fais la chose suivante

(tant que la cellule (i,h) n'est pas rouge et la cellule (i,1) n'est pas vide)

for h=4 to 8
While Not Cells(i, h).Font.ColorIndex 3 Or Not Cells(i, 1) ""

blalblabla

i=i+1
wend
next

quand je fait tourner le code, il n'arrive pas a sotir de la boucle while et donc il me rempli la colonne h jusqu'e tout en bas de la feuille excel et quand il peut plus aller plus bas il bugue

voila voila
Merci par avance

benben
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 20
27 mai 2004 à 10:28
Le seul truc que j'ai modifié c'est la réinitialisation de i avant le passage dans la boucle.

Dim i, h As Integer
For h = 4 To 8
i = 1While Not Cells(i, h).Font.ColorIndex 3 Or Not Cells(i, 1) ""
Cells(i, h) = "ok"
i = i + 1
Wend

Next h


Fanny
0
Rejoignez-nous