bonjour le phorum
j'aurai besoin d'un peu d'aide sur une macro qui me permette de comparer des valeurs de chaines
j'ai utilisé ces deux codes voir ci dessous mais je n'ai pas les résultats attendus
ce code me recherche dans la colonne 5 des éléments communs de la colonne 6 et cela ne convient pas
ce code compare les deux chaines mais me retourne uniquement les cellules identiques
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 Sub Test() Dim PlageCol_1 As Range Dim PlageCol_2 As Range Dim CelCol_1 As Range Dim CelCol_2 As Range With ActiveSheet 'à partir de A2 et B2 Set PlageCol_1 = .Range(.Cells(2, 5), .Cells(.Rows.Count, 5).End(xlUp)) Set PlageCol_2 = .Range(.Cells(2, 6), .Cells(.Rows.Count, 6).End(xlUp)) End With For Each CelCol_2 In PlageCol_2 Set CelCol_1 = PlageCol_1.Find(CelCol_2, , xlValues, xlPart) 'inverser OK et KO pour avoir le résultat conforme à l'exemple If Not CelCol_1 Is Nothing Then CelCol_2.Offset(, 1) = "OK" 'si trouvé Else CelCol_2.Offset(, 1) = "KO" End If Next CelCol_2 End Sub
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 Sub Cherche() 'déclaration des variables : Dim Trouve As Range, PlageDeRecherche As Range Dim Valeur_Cherchee As String, AdresseTrouvee As String Set PlageDeRecherche = ActiveSheet.Columns(5) '******************************* ligne = Cells(Rows.Count, 3).End(xlUp).Row ' For i = 1 To ligne If Cells(i, 5).Value Like Cells(i, 6) Then Cells(i, 7) = "OK" Else Cells(i, 7) = "KO" End If Next End Sub
en effet j'aimerai pouvoir avoir une comparaison entre deux chaines qui comportent au moins un mot en commun
par exemple
COL1 COL2 TOTO TATA TATA TITI TOTO TOTO TITI TOTO TOTO TATA TITI TITI
dans les cas ci dessus, je souhaiterai avoir ok dans la COL3 pour les lignes 1, 2 et 4
quelqu'un aurait il une idée ?
merci d'avance
david
Partager