A quoi correspondent les valeurs i = 2 et j = 4
On définit la variable tablo ainsi :
tablo = Range("D3").CurrentRegion
C'est donc une variable qui contient le tableau D3:R12
Sa première ligne contient les titres : "LIste 1", Liste 2 etc. La boucle des lignes doit donc partir de i =2
Et la boucle des colonnes, si on veut toutes les examiner doit partir à la première colonne de tablo, soit j = 1.
C'était une erreur de la faire partir de j= 4 : il faut considérer la variable tablo et non pas le tabeau de la feuille de calcul. Mea culpa !
Néanmoins une cellule vide se créée au milieu de ma liste
Ton tableau contient des cellules vides.
Donc ta variable tablo contiendra aussi des valeursvides, et ton dico en contiendra une également.
Pour éviter ça, tu dois poser une condition sur les valeurs que tu envoies dans le dico :
For i = 3 To UBound(tablo, 1) 'on passe toutes les données de la variable tablo
For j = 1 To UBound(tablo, 2)
If tablo(i, j) <> "" Then
dico(tablo(i, j)) = "" 'on les envoie dans le dictionnaire qui la conservera
End If 'sans doublon
Next j
Next i
OK ?
Bye !