[Déplacé VB.NET > VBA] mettre une boucle dans une boucle [Résolu]

Signaler
Messages postés
50
Date d'inscription
samedi 19 août 2006
Statut
Membre
Dernière intervention
17 juillet 2010
-
Messages postés
50
Date d'inscription
samedi 19 août 2006
Statut
Membre
Dernière intervention
17 juillet 2010
-
Bonjour,
j'ai un fichier contenant 193 lignes et 33 colonnes. Je souhaite créer deux boucles l'une dans l'autre. La première consiste à comparer les données contenues dans la colonne 1 des lignes 1 et 2, si les valeurs sont différentes le contenu des deux colonnes est écrit en rouge, et ainsi de suite pour les 33 colonnes de ces 2 ligne. Ma boucle est la suivante (elle fonctionne car je l'ai testée :
For i = 2 To 33 Step 1
If Cells(2, i).Value <> Cells(3, i).Value Then
Cells(2, i).Font.ColorIndex = 3
Cells(3, i).Font.ColorIndex = 3
End If
Next i

Je souhaite faire la même chose pour les lignes 4 et 5, 6 et 7, 8 et 9, ..., 192 et 193. Il faut donc que je mette la boucle ci-dessus dans une autre boucle, malheureusement, je n'y arrive pas.
Quelqu'un aurait-il une idée de la manière dont je doit m'y prendre ?
Je vous remercie d'avance.
Bauhaus44

Javascript:Insert_Emoticon('/imgs2/smile.gif');

2 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
230
Bonjour,
1) devrait être :
For i = 2 To 33 Step 1
  For j = 2 to 192 step 2
    If Cells(j, i).Value <> Cells(3, i).Value Then
      Cells(j, i).Font.ColorIndex = 3
      Cells(j+1, i).Font.ColorIndex = 3
     End If
  next j
Next i 



2) Attention au thème ! tu déveloippes sous VBA et non VB.Net. Fais-y attention, s'il te plait.
____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
Messages postés
50
Date d'inscription
samedi 19 août 2006
Statut
Membre
Dernière intervention
17 juillet 2010

Merci pour ton aide Ucfoutu.
1) Ta réponse est exacte, j'ai juste remplacer Cells(3,i) par Cells(j+1,i)afin de comparer la cellule à celle du dessous. Au final le code est :

For i = 2 To 33 Step 1
For j = 2 to 192 step 2
If Cells(j, i).Value <> Cells(j+1, i).Value Then
Cells(j, i).Font.ColorIndex = 3
Cells(j+1, i).Font.ColorIndex = 3
End If
next j
Next i

2) je m'excuse pour le mauvais choix du thème, la prochaine fois je serai plus vigilant.

Bauhaus44