Bonjour ADBLA, 78chris,
Plusieurs anomalies:
1) tablo = .Range("b2:L" & Rows.Count).End(xlUp).Row ramène 1 (le N° de la ligne) et non pas un tableau. Il faudrait :
tablo = .Range("b2:L" & .Range("B" & Rows.Count).End(xlUp).Row)
2) For i = 1 To tablo : il faut définir l'indice de début et l'indice de fin de boucle; tablo est un tableau pas un nombre. on peut alors préciser le plus grand indice du tableau en utilisant la Fonction UBound() qui renvoie le plus grand indice de la dimension précisée :
For i = 1 To UBound(tablo, 1)
ou
For i = LBound(tablo, 1) To UBound(tablo, 1)
3) liste(tablo(i, 2) & "#" & tablo(i, 9)) = liste(tablo(i, 2) & "#" & tablo(i, 9)) + tablo(i, 12) le tableau tablo "comporte 11 colonnes" et les indices commencent à 1, donc tablo(i,12) n'existe pas
A+