Caractères "perturbant"

Bonjour à tous,

Je travaille sur un projet WinDev qui utilise des fichiers importés à partir de tableaux Excel.

Il se trouve que je rencontre des incohérences dans le projet Windev qui semblent dues à cette importation comme si les données du tableau Excel comportaient des caractères cachés qui perturbent les résultats finaux.

En effet le projet WinDev cherche entre autre à regrouper dans ses propres tableaux les données importées d'Excel.

Pour simplifier je pars d'un tableau Excel qui me donne des noms de personnes et leurs adresses. WinDev va ensuite regrouper les noms identiques dans une rupture. Or il se trouve que pour un nom qui semble orthographié de manière identique je retrouve plusieurs rupture.

Si avant importation j'efface le nom du contenu de la cellule pour le réécrire manuellement les ruptures et regroupement sont ensuite corrects après importation.

J'en ai donc conclu que des caractères ou une mise en forme perturbait cette importation.

Comme les tableaux Excel contiennent plusieurs dizaines de milliers de lignes comment pourrais-je m'assurer que ce que je vois dans le tableau ne contient pas des caractères cachés et si oui comment automatiser leur effacement

merci de vos conseils

bonjour

as-tu essayé dans le xls de départ de faire un tri sur ta colonne ?

pareil avec un filtre sur la colonne

pareil avec la fonction Recherche dans la feuille

tu visualises tout de suite si Excel trie correctement ou s'il prend en compte des "caractères cachés"

as-tu essayé d'exporter ton xls en txt ?

pareil en Word (ou en copier/coller dans Word)

pour voir éventuellement des caractères cachés

le but étant de découvrir ce(s) caractère(s) caché(s) pour faire un Remplacer dans ton xls

Bonjour,

A priori il n'y a pas à proprement parlé de caractères "cachés" dans Excel mais certain peuvent être invisible dans la plupart des cas. c'est le cas notamment du Chr(160) qui renvoie un pseudo espace (ça ressemble à un espace, mais ça n'en est pas un) ou encore les caractères de retour à la ligne, ainsi que de plusieurs autres...

Il faudrait commencer par localiser approximativement la ou les cellules qui posent problème. (par exemple avec les suggestions de jmd.... ou dans WinDev)

Ensuite quand on a identifié une ou plusieurs cellules à problème on peut "scanner" chaque caractère du string avec Mid()

Ensuite YAPUKA traiter les caractères indésirables. En général ils ne sont pas bien nombreux...

Voir le fichier joint

A+

17chr-invisibles.xlsm (18.57 Ko)

Merci à tous les deux pour ces conseils.

En effectuant un tri sur la colonne Excel me servant ensuite de rupture dans Windev je ne trouve aucun problème. Il est à noter d'ailleurs que les incohérences dans les ruptures Windev se font en conservant l'ordre alphabétique.

Par contre en utilisant la macro fournie par Galopin01 je trouve effectivement des ch32 qui correspondent à des espaces à la fin des noms qui "cassent" les ruptures.

Existe-t-il un moyen de "mouliner" complètement les données d'une colonne pour supprimer les espaces à la fin de chaque nom ?

Merci encore

Bonjour,

A adapter en fonction de la colonne :

Sub test()
Dim o As Range
i = Range("A" & Rows.Count).End(xlUp).Row
For Each o In Range("A1:A" & i)
o = RTrim(o)
Next
End Sub

remarque : Si possibilité de plusieurs espaces parasites faire :

Sub test()
Dim o As Range
i = Range("A" & Rows.Count).End(xlUp).Row
For Each o In Range("A1:A" & i)
For k= 1 to 3
o = RTrim(o)
Next
Next
End Sub

A+

Merci galopin01

J'avais essayé la fonction "CTRLH" sur l'ensemble des données de la colonne qui permet en sélectionnant "espace" sur la 1ère ligne puis rien sur la seconde de supprimer tous les espaces, avec l'inconvénient que cette fonction supprime également les esapces entre des noms composés et pas seulement à la fin du nom.

Merci encore

Rechercher des sujets similaires à "caracteres perturbant"