Bonjour Pierro, bonjour le forum,
Une proposition VBA avec le code ci-dessous :
Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim T1 As Variant 'déclare la variable T1 (Tableau 1)
Dim T2 As Variant 'déclare la variable T2 (Tableau 2)
Dim TR() As Variant 'déclare la variable TR (Tableau des Résultats)
Dim TEST As Boolean 'déclare la variable TEST
Dim I As Integer 'déclare la variable I (Incrément)
Dim J As Integer 'déclare la variable J (incrément)
Dim K As Integer 'déclare la variable K (incrément)
Set O = Worksheets("Feuil1") 'définit l'onglet O
O.Range("H2").CurrentRegion.Offset(1, 0).ClearContents 'efface d'éventuelles anciennes données
T1 = O.Range("B2").CurrentRegion 'définit le tableau T1
T2 = O.Range("E2").CurrentRegion 'définit le tableau T2
ReDim TR(1 To UBound(T1, 1), 1 To 2) 'redimensionne le tableau de résultats TR (autant de ligne que T1, 2 colonnes)
K = 1 'initialise la variable K
For I = 2 To UBound(T1, 1) 'boucle 1 : sur toutes les lignes I du tableau T1 (en partant de la seconde)
TEST = False 'initialise la variable TEST
For J = 2 To UBound(T2, 1) 'boucle 2 : sur toutes les lignes J du tableau T2 (en partant de la seconde)
If T1(I, 1) = T2(J, 1) Then 'condition : si la donnée ligne I colone 1 de T1 est égale à la donnée ligne J colonne 1 de T2
TEST = True 'redéfinit la variable TEST
TR(K, 1) = T1(I, 1) 'récupère dans le ligne K colonne 1 de TL la désignation en ligne I du tableau 1
TR(K, 2) = IIf(T1(I, 2) = T2(J, 2), "VRAI", "FAUX") 'renvoie dans le ligne K colonne 2 de TL la mention "VRAI" ou "FAUX" en fonction des données en colonne 2 des tableaux T1 et T2
K = K + 1 'incrémente K
Exit For 'sort de la boucle 2
End If 'fin de la condition
Next J 'prochaine ligne de la boucle 2
'si TEST est [FAUX] récupère dans le ligne K colonne 1 de TL la désignation du tableau 1, renvoie "FAUX" dans la ligne L colonne 2 de TL, incrémente K
If TEST = False Then TR(K, 1) = T1(I, 1): TR(K, 2) = "FAUX": K = K + 1
Next I 'prochaine ligne de la boucle 1
O.Range("H3").Resize(UBound(T1, 1), 2).Value = TR 'renvoie le tableau TL dans la cellule H3 redimensionnée
End Sub
[Édition]
Bonjour Xmenpl, nos posts se sont croisés...