Bonjour le fil, bonjour le forum,
Eddim a écrit :
ThauThème ton code fonctionne parfaitement. J'avais oublié de mentionner que sur certaines lignes, location n'est pas toujours tout seul tel quel dans une cellule, il peut se rencontrer comme location ou locationN ou Nlocation ou ata;location;N;;
Comment est ce qu'on peut faire en sorte que dès que la partie de texte location est présente, il la reconnaisse ?
Essaie comme ça :
Sub Macro1()
Dim O1 As Worksheet 'déclare la variable O1 (Onglet 1)
Dim O2 As Worksheet 'déclare la variable O2 (Onglet 2)
Dim TV1 As Variant 'déclare la variable TV1 (Tableau des Valeurs de l'Onglet 1)
Dim TV2 As Variant 'déclare la variable TV2 (Tableau des Valeurs de l'Onglet 2)
Set O1 = Worksheets("Feuil1") 'définit l'onglet O1
Set O2 = Worksheets("Feuil2") 'définit l'onglet O1
TV1 = O1.Range("A1").CurrentRegion 'définit le tableau des valeurs TV1
TV2 = O2.Range("A1").CurrentRegion 'définit le tableau des valeurs TV2
For I = 2 To UBound(TV1, 1) 'boucle 1 : sur toutes les lignes I du tableau des valeurs TV1 (en partant de la seconde)
For J = 2 To UBound(TV2, 1) 'boucle 1 : sur toutes les lignes J du tableau des valeurs TV2 (en partant de la seconde)
If TV1(I, 2) = TV2(J, 1) Then 'condition : si la donnée en colonne 2 de TV1 est égale à la donnée en colonne 1 de TV2
'renvoie "oui" ou "non" dans la cellule ligne I colonne 5 de l'onglet O1
'en fonction de la valeur de la donnée ligne J colonne 2 de TV2
O1.Cells(I, 5).Value = IIf(InStr(1, TV2(J, 2), "location") > 0, "oui", "non")
Exit For 'sort de la boucle 2
End If 'fin de la condition
Next J 'prochaine ligne de la boucle 2
Next I 'prochaine ligne de la boucle 1
End Sub