Hello tigeline001,
1)
En exécutant sommairement ton programme:
Set trouve = Feuil2.Columns(2).Find(Z, lookat:=xlWhole)
S'exécute même lorsque ta variable Z est vide -> donc oui tu fais une recherche sur des valeurs vides.
2)
For LE = 4 To UBound(T, 1)
Tu commets une erreur sur ta boucle je pense ->
For LE = 1 to UBound(T, 1)
En effet tu as un nom stocké dans T(1,1), et toi tu n'analyse qu'à partir du 5ème (4 + 1) élément de ton tableau T.
Tes données sont stockées de la ligne 3 à la ligne 800 et quelques, mais ton tableau T lui commence à T(0) et fini à T(800-3-1)!