Comparer deux colonnes avec N° commençant par

MsVixene

XLDnaute Nouveau
Bonjour,

j'ai un code qui ne fonctionne pas et je ne sais pas quoi faire car ce n'est pas moi qui l'ai fait et je n'arrive pas à le lire en plus :p L'exécution est plutot longue.

J'aimerais comparer deux colonnes de deux onglets de ma feuille.

Si la colonne 10 d'EXTRACTION = colonne 1 de A ENLEVER
Alors mettre OUI
Sinon NON

Sachant que la composition de ma colonne 1 de A ENLEVER est par exemple :

9AUTO
9MONT
BAT GARAG1
BAT GARAG2
BAT%------------------------->tout les N° commençant par BAT
12605
15896

Code:
Sub Comparaison1()
Set sheet1 = ThisWorkbook.Sheets("EXTRACTION")
Set sheet2 = ThisWorkbook.Sheets("A ENLEVER")
Ecol_no = 2
Erow_no = 2
Do While Not IsEmpty(sheet1.Cells(Erow_no, Ecol_no).Value)
   Acol_no = 1
   Arow_no = 1
   flag_found = "N"
   Do While Not IsEmpty(sheet2.Cells(Arow_no, Acol_no).Value)
      If (sheet1.Cells(Arow_no, 2).Value = sheet2.Cells(Erow_no, 1).Value) Then
         flag_found = "Y"
         Exit Do
      End If
      Arow_no = Arow_no + 1
   Loop
   If (flag_found = "N") Then
      Worksheets("EXTRACTION").Cells(Erow_no, 10).Value = "Oui"
      Else: Worksheets("EXTRACTION").Cells(Erow_no, 10).Value = "Non"
   End If
   Erow_no = Erow_no + 1
Loop
End Sub

Donc cette maccro me met des OUI sur toutes les lignes sauf 2. (pour lesquelles les conditions ne sont pas respectées).

J'étais partie sur ceci que je comprenais mais j'ai des bloquants aussi :

Code:
Sub ComparerN°Inv2()
Dim I As Single
Dim J As Single
For I = 1 To Worksheets("EXTRACTION" ).Range("B2" ).End(xlDown).Row
For J = 1 To Worksheets("A ENLEVER" ).Range("A1" ).End(xlDown).Row
If I.Value = J.Value Then
Worksheets("EXTRACTION" ).Cells(I, 10).Value = "Oui"
Else: Worksheets("EXTRACTION" ).Cells(I, 10).Value = "Non"
End If
Next I
End Sub

Merci
 

Discussions similaires

Réponses
6
Affichages
248

Statistiques des forums

Discussions
312 282
Messages
2 086 770
Membres
103 391
dernier inscrit
lrol