Bonjour à tous!
Je viens vers vous car je bloque sur un problème de syntaxe (il me semble) et malgré mes recherches je n'arrive pas à résoudre ce problème.
L'idée est de faire un rapprochement entre 2 feuilles excel.
Prenons une feuille A et une feuille B. L'idée est de prendre la première ligne de la feuille A, chercher la ligne dans la feuille B (en comparant colonne à colonne à l'aide d'une boucle) et colorier la ligne en vert si tout correspond. Puis passer à la ligne suivante.
Dans ce schéma je vois 3 boucles :
- la première pour passer d'une ligne à une autre dans la feuille A,
- la deuxième pour passer d'une ligne à une autre dans la feuille B lorsque l'on cherche la ligne qui correspond,
- la dernière pour comparer les colonnes d'une ligne
Les conditions sont naturellement des conditions d'égalité de valeur.
Voici où j'en suis.
Normalement mes conditions sont bien formulées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 Dim nbreA As Variant Dim nbreB As Variant nbreA = Sheets("A").Range("A" & Application.Rows.Count).End(xlUp).Row (nombre de lignes dans A) nbreB = Sheets("B").Range("A" & Application.Rows.Count).End(xlUp).Row (nombre de lignes dans B) For i = nbreA To 2 Step -1 For j = nbreB To 2 Step -1 If Sheets("A").Cells(i, 1) = Sheets("B").Cells(j, 1) Or (Sheets("A").Cells(i, 1) = "29*" And Sheets("B").Cells(j, 2) = "Nom") Then For k = 2 To 4 If Sheets("A").Cells(i, k) <> Sheets("B").Cells(j, k) Then Exit For End If Next k If k = 4 Then Sheets("A").Rows(i).Interior.Color = RGB(0, 255, 0) And Sheets("B").Rows(j).Interior.Color = RGB(0, 255, 0) Next i Else Next j End If If j = 2 Then Sheets("A").Rows(i).Interior.Color = RGB(255, 0, 0) Next i End If End if
En revanche à chaque fois que j'essaie d'instaurer un "Next x" il me met "Erreur de compilation : Next sans For"...
C'est probablement une erreur de débutant qui concerne la syntaxe et la base même de l'utilisation des boucles mais je bloque tout de même dessus =/.
Si vous pouviez m'éclaircir sur ce point, vous me seriez d'une grande aide!
Merci d'avance!
Partager