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
| Sub concordance()
Dim x As Integer, y As Integer, verif3 As String, verif5 As String
Dim Dl As Long, S3 As Worksheet, S5 As Worksheet
Dim Tb3, Tb5 'j'ai pris l'habitude de passer par des variables "tableau" pour la rapidité d'éxcution
Set S3 = Sheets("Adopt_Animaux = 480") 'variable représentant la feuille
Set S5 = Sheets("Animaux_ = 40") 'variable représentant la feuille
Dl = S5.Range("B" & S5.Rows.Count).End(xlUp).Row 'on cherche la derniere ligne renseignée dans la feuille
Tb5 = S5.Range("B2:M" & Dl) ' tb5 contient les données de S5, soit "Animaux_ = 40"
Dl = S3.Range("B" & S3.Rows.Count).End(xlUp).Row 'on cherche la derniere ligne renseignée dans la feuille
Tb3 = S3.Range("B2:I" & Dl) ' tb3 contient les données de S3, soit "Adopt_Animaux = 480"
For x = 1 To UBound(Tb5, 1) 'une boucle qui parcoure Tb5
verif5 = Tb5(x, 1) & Tb5(x, 2) 'verif5 contient donc, au début de boucle valeur de _
B2 & C2 de S5
For y = 1 To UBound(Tb3, 1) 'une boucle qui parcoure Tb3
verif3 = Tb3(y, 1) & Tb3(y, 2) 'verif5 contient donc, au début de boucle valeur de _
B2 & C2 de S3
If verif3 = verif5 Then 'si les valeurs correspondent
Tb3(y, 8) = "a aussi adopté " & Tb5(x, 12) 'on donne la valeur à la 8ème colonne de Tb3 quisera affectée _
par la suite à la col I, I est la 9ème col mais le tableau commence en B => de B à I 8 colonnes
End If
Next y
Next x
S3.Range("B2").Resize(UBound(Tb3, 1), UBound(Tb3, 2)) = Tb3 'on affecte le résultat du tableau à la feuille "Adopt_Animaux = 480" _
en redimensionnant avec "Resize
End Sub |