OVH Cloud OVH Cloud

Boucles imbriquées

2 réponses
Avatar
Dan
Bonjour,
Je voudrais parcourir un tableau pour attribuer une mise en forme
conditionnelle aux cellules sélectionnées en partant d'une cellule (par ex
F6), descendre la colonne jusqu'à la cellule F45 et repartir pour la même
chose sur la colonne H6 (saut d'une colonne sur 2)... et ce jusqu'à la
colonne R.
J'ai donc une problème de boucle !
J'ai bien fait la boucle interne mais je ne sais pas comment déclarer la
boucle externe :
For I = 6 To 45
Range(J & I).Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlLessEqual, _
Formula1:="=$E" & I
Selection.FormatConditions(1).Font.ColorIndex = 3
Next

Merci pour vos conseils
Cordialement
Dan

2 réponses

Avatar
papou
Bonjour
Il faut commencer par traiter la colonne puis les lignes.
Donc dans ton cas quelque chose comme ça :
For J = 6 to 12 step 2
For I = 6 to 45
'Cells(I,J).FormatConditions.Add'.....
'ton traitement
'ici
Next I
Next J

Cordialement
Pascal


"Dan" a écrit dans le message de news:

Bonjour,
Je voudrais parcourir un tableau pour attribuer une mise en forme
conditionnelle aux cellules sélectionnées en partant d'une cellule (par ex
F6), descendre la colonne jusqu'à la cellule F45 et repartir pour la même
chose sur la colonne H6 (saut d'une colonne sur 2)... et ce jusqu'à la
colonne R.
J'ai donc une problème de boucle !
J'ai bien fait la boucle interne mais je ne sais pas comment déclarer la
boucle externe :
For I = 6 To 45
Range(J & I).Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlCellValue,
Operator:=xlLessEqual, _
Formula1:="=$E" & I
Selection.FormatConditions(1).Font.ColorIndex = 3
Next

Merci pour vos conseils
Cordialement
Dan


Avatar
Dan
Impec !
Merci. Ce n'était pas compliqué mais je butais sur le fait que je voulais
sélectionner chaque cellule pour leur affecter le traitement par "Range(J &
I).Select" alors que ce n'était pas la peine et j'obtenais une erreur 1004.
Encore merci pour le conseil et la rapidité.
Dan


Bonjour
Il faut commencer par traiter la colonne puis les lignes.
Donc dans ton cas quelque chose comme ça :
For J = 6 to 12 step 2
For I = 6 to 45
'Cells(I,J).FormatConditions.Add'.....
'ton traitement
'ici
Next I
Next J

Cordialement
Pascal


"Dan" a écrit dans le message de news:

Bonjour,
Je voudrais parcourir un tableau pour attribuer une mise en forme
conditionnelle aux cellules sélectionnées en partant d'une cellule (par ex
F6), descendre la colonne jusqu'à la cellule F45 et repartir pour la même
chose sur la colonne H6 (saut d'une colonne sur 2)... et ce jusqu'à la
colonne R.
J'ai donc une problème de boucle !
J'ai bien fait la boucle interne mais je ne sais pas comment déclarer la
boucle externe :
For I = 6 To 45
Range(J & I).Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlCellValue,
Operator:=xlLessEqual, _
Formula1:="=$E" & I
Selection.FormatConditions(1).Font.ColorIndex = 3
Next

Merci pour vos conseils
Cordialement
Dan