Bonjour,
J'ai créé une macro qui compare 3 cellules d'une ligne aux 3 de la lignes précédente.
Si au moins une des 3 cellules est égale a au moins une des trois de la ligne précédente, alors ... rien , sinon on colore la ligne en rouge.
ex :
A B C
D E A ---> rien car A sur les 2 ligne
F B H ---> en rouge
Ma macro fonctionnerai si certaines cellules n'étaient pas vides.
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 Dim flag As Boolean Dim derniere_ligne, i, j, k As Long derniere_ligne = ThisWorkbook.Worksheets(a).Range("E65536").End(xlUp).Row For i = 4 To derniere_ligne flag = True For j = 9 To 10 For k = 9 To 10 If ThisWorkbook.Worksheets(a).Cells(i, j).Text = ThisWorkbook.Worksheets(a).Cells(i - 1, k).Text Then flag = False Next k Next j If flag = True Then ThisWorkbook.Worksheets(a).Range("I" & i & ":K" & i).Interior.ColorIndex = 3 Next i Next a
En effet si j'ai
A B
C --> la ligne n'est pas colorée car les cellules de la troisieme colonne par exemple sont identiques (vides)
J'ai essayé :
Mais bon ça ne fonctionne pas (next sans for) ... je ne pense pas qu'il me manque grand chose mais je ne vois pas comment (bien) imbriquer mes boucles et conditions.
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 Dim flag As Boolean Dim derniere_ligne, i, j, k As Long derniere_ligne = ThisWorkbook.Worksheets(a).Range("E65536").End(xlUp).Row For i = 4 To derniere_ligne flag = True For j = 9 To 10 If ThisWorkbook.Worksheets(a).Cells(i, j).Text <> "" Then For k = 9 To 10 If ThisWorkbook.Worksheets(a).Cells(i - 1, k).Text <> "" Then If ThisWorkbook.Worksheets(a).Cells(i, j).Text = ThisWorkbook.Worksheets(a).Cells(i - 1, k).Text Then flag = False Else Next k End If Else Next j End If If flag = True Then ThisWorkbook.Worksheets(a).Range("I" & i & ":K" & i).Interior.ColorIndex = 3 Next i Next a
Merci pour votre aide !
Partager