Sub Bouton1_QuandClic()
Dim c As Range
Dim tablo(), tablod2, tablosplit
Dim x As Integer, j As Integer, i As Integer
'stock les données de la feuille DONNEES 2
tablod2 = Sheets("DONNEES 2").Range("a1").CurrentRegion
With Sheets("DONNEES 1") 'a partir de la feuille DONNEES 1
'pour chaque cellule de la ligne A2 jusqu'a la derniere ligne non vide de la colonne A
For Each c In .Range("a2:a" & .Range("a65536").End(xlUp).Row)
'deconcatene la valeur de la colonne B (c.offset(0,1))
tablosplit = Split(c.Offset(0, 1), Chr(10))
'pour chaque élément de la deconcaténation
For i = 0 To UBound(tablosplit)
x = x + 1
ReDim Preserve tablo(1 To 5, 1 To x)
'stock les données
tablo(1, x) = c 'le prénom
tablo(2, x) = tablosplit(i) 'l'élément de la déconcaténation
tablo(3, x) = c.Offset(0, 2) 'la marque (colonne C)
For j = 1 To UBound(tablod2) 'pour chaque ligne de la feuille données
If tablo(3, x) = tablod2(j, 1) Then 'si les marques de la voiture sont identiques
tablo(4, x) = tablod2(j, 2) 'on complete le tableau avec la donnée 2 (le type de voiture)
tablo(5, x) = tablod2(j, 3) 'et le type d'energie
Exit For
End If
Next j
Next i
Next c
End With
Sheets("feuil1").Cells.ClearContents 'on efface les données de feuil1
'on renvoi le tableau en feuil1
For i = 1 To UBound(tablo, 2)
For j = 1 To UBound(tablo, 1)
Sheets("feuil1").Cells(i, j) = tablo(j, i)
Next j
Next i
End Sub