Bonsoir à tous,
L'idéal serait de mettre le tout sous la forme d'une fonction :
Function cleaner$(chaine$)
cleaner = Application.Trim(Application.Clean(Replace(chaine, Chr(160), "")))
End Function
Pour effacer les espaces insécables, les 32 premiers caractères non imprimables et les espaces indésirables (à partir de la fonction de feuille, qui contrairement à la fonction VBA supprime aussi les espaces excédentaires en milieu de chaine). Je crois qu'il reste quelques caractères non imprimables, auquel cas, il faudrait les identifier et les supprimer ainsi :
Function cleaner$(chaine$)
dim toclean(), i%
toclean = array(chr(127), chr(129), chr(141), chr(143), chr(144), chr(157), chr(160))
for i = lbound(toclean) to ubound(toclean)
chaine = replace(chaine, toclean(i), "")
next i
cleaner = application.trim(application.clean(chaine))
end function
La fonction serait alors utilisée dans le code (mais également sur feuille si besoin) :
For j = 2 To i
Tableau_A(j) = cleaner(cells(j, 1))
Next j
Cdlt,