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

Résolu
BAUHAUS44 Messages postés 50 Date d'inscription samedi 19 août 2006 Statut Membre Dernière intervention 17 juillet 2010 - 29 janv. 2010 à 08:39
BAUHAUS44 Messages postés 50 Date d'inscription samedi 19 août 2006 Statut Membre Dernière intervention 17 juillet 2010 - 29 janv. 2010 à 11:17
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

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 228
29 janv. 2010 à 09:07
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
3
BAUHAUS44 Messages postés 50 Date d'inscription samedi 19 août 2006 Statut Membre Dernière intervention 17 juillet 2010
29 janv. 2010 à 11:17
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
3