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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
Dim LignePrem As Integer
Dim LigneDeux As Integer
Dim ValeurPrem As String
Dim ValeurDeux As String
Dim ColDeb As Integer
Dim ColFin As Integer
Dim i As Integer
Dim NomDeLaFeuille As String
Dim Couleur As Integer
'Defini l'index de couleur à utilisé (le 5 = Bleu Foncé, le 3 = Rouge) et sur le net il existe des tableaux de se genre d'info
Couleur = 3
'defini une variable qui contien le nom de la feuille car chez moi la feuille s'appelle "Feuil1", et
'comme tu doit avoir une version anglaise de l'excel, elle s'appellerio Quesak... heuuu.. "Sheet1"
NomDeLaFeuille = "Sheet1"
ColDeb = 4 'defini le numero de colonne contenant le premier oui/non
ColFin = 9 'defini le numero de colonne contenant le dernier oui/non
'Sous excel la première ligne est 1, et première colonne commence à 1
LignePrem = 2 'car la premiere cellule est probablement vide
'boucle pour enlever les couleur avant le test
While Sheets(NomDeLaFeuille).Cells(LignePrem, 1).Value & "" <> ""
Sheets(NomDeLaFeuille).Rows(LignePrem).Interior.ColorIndex = xlColorIndexNone
LignePrem = LignePrem + 1
Wend
LignePrem = 2
'boucle sur toute les valeurs de la colonne 1 , et quand c'est vide , je sors de la boucle
While Sheets(NomDeLaFeuille).Cells(LignePrem + 1, 1).Value & "" <> "" '(+1 car je veux sortir à l'avant-derniere ligne)
'on recup les valeur ouinon de chaque cellule de la ligne en cours d'annalyse
'le trim serre enleve les espace avant et apres le ouinon
ValeurPrem = ""
For i = ColDeb To ColFin
'grace à cette boucle je reduit la longeur de la ligne qui originalement aurait été:
'ValeurPrem = Trim(Sheets(NomDeLaFeuille).Cells(LignePrem, 4).Value) & Trim(Sheets(NomDeLaFeuille).Cells(LignePrem, 5).Value) & Trim(Sheets(NomDeLaFeuille).Cells(LignePrem, 6).Value) & Trim(Sheets(NomDeLaFeuille).Cells(LignePrem, 7).Value) & Trim(Sheets(NomDeLaFeuille).Cells(LignePrem, 8).Value) & Trim(Sheets(NomDeLaFeuille).Cells(LignePrem, 9).Value)
ValeurPrem = ValeurPrem & Trim(Sheets(NomDeLaFeuille).Cells(LignePrem, i).Value)
Next i
LigneDeux = LignePrem + 1 'pour commencer avec la ligne suivant la ligne en cour d'analyse
While Sheets(NomDeLaFeuille).Cells(LigneDeux, 1).Value & "" <> ""
'on recup les valeur ouinon de chaque cellule de la ligne que l'on va comparé
'le trim serre enleve les espace avant et apres le ouinon
ValeurDeux = ""
For i = ColDeb To ColFin
ValeurDeux = ValeurDeux & Trim(Sheets(NomDeLaFeuille).Cells(LigneDeux, i).Value)
Next i
'je compare les valeurs , et si je trouve la meme valeur c'est que les tache sont les meme
'le ucase sers a mettre tout en majuscule.
If UCase(ValeurPrem) = UCase(ValeurDeux) Then
'met les deux ligne identique en couleur
Sheets(NomDeLaFeuille).Rows(LignePrem).Interior.ColorIndex = Couleur
Sheets(NomDeLaFeuille).Rows(LigneDeux).Interior.ColorIndex = Couleur
End If
LigneDeux = LigneDeux + 1 'on incrémente pour passer à la prochaine ligne
Wend
LignePrem = LignePrem + 1 'on incrémente pour passer à la prochaine ligne
Wend
'affiche un message de fin de traitement
MsgBox ("Analyse terminée") |
Partager