Suppression caractere invisible

Aladin

XLDnaute Occasionnel
Bonsoir le forum
J' utiulise une fonction qui me permet d' extraire les caracteres apres le premier tirert.
Le pb c' est que ces données sont formatés avec un espace avant et apres le tiret du style: DDD - ELAN
Ma fonction extrait ELAN mais avec l'espace se trouvant entre le tiret et ELAN, ce qui me donne un espace invisible
que j' essaye de corriger sans success.
Merci d' avance pour toute aide pour corriger ce pb
Aladin
 

Grand Chaman Excel

XLDnaute Impliqué
Re : Suppression caractere invisible

Bonjour,

À l'aveugle, fonction personnalisée à essayer :

VB:
Function Extrait(c As Range) As String
   With CreateObject("vbscript.regexp")
      .Pattern = "^[^-]+-"
      If .Test(c) Then Extrait = .Execute(c)(0)
   End With
End Function
 

Staple1600

XLDnaute Barbatruc
Re : Suppression caractere invisible

Bonsoir à tous

Aladin
Pourquoi ne pas se simplifier la vie avec l'usage de Données/Convertir ??
Fractionner des noms avec l'Assistant Conversion - Excel

Les fonctions natives d'Excel sont là pour être utilisées, non ?
(Or elles sont souvent ignorées, ce qui me laisse toujours perplexe ;))
 

Aladin

XLDnaute Occasionnel
Re : Suppression caractere invisible

Bonsoir le forum
Ma fonction est la suivante
Code:
Function Extractor(r As Range, Sep$, n&)
Extractor = Split(r.Text, Sep)(n)
End Function
Je l' utilise ainsi
Code:
=Extractor(C2;"-";1)

Aladin
 

Staple1600

XLDnaute Barbatruc
Re : Suppression caractere invisible

Re

Aladin
As-tu lu mon précédent message?
Puis été voir le lien qu'il contient?
Puis tester Données/Convertir?

Si oui qu'en penses-tu ?

Si non alors
Function Extractor(r As Range, Sep$, n&)
Extractor = VBA.Trim(Split(r.Text, Sep)(n))
End Function
 

Modeste geedee

XLDnaute Barbatruc
Re : Suppression caractere invisible

Bonsour®
le fameux caractère espace invisible a pour code ASCII la valeur 160 : car(160)
il suffit donc de l'ôter avant autres opérations
edition
rechercher : taper ici la combinaison de touche Alt 0160
remplacer par : taper ici un caractère espace standard ( Alt 032)
 

job75

XLDnaute Barbatruc
Re : Suppression caractere invisible

Bonjour à tous,

Bah... en gardant la macro du post #5, dans la feuille de calcul :
Code:
=SUPPRESPACE(Extractor(C2;"-";1))
ou :
Code:
=Extractor(C2;" - ";1)
Sur version anglaise remplacer SUPPRESPACE par TRIM.

A+
 

job75

XLDnaute Barbatruc
Re : Suppression caractere invisible

Re,

S'il peut y avoir l'espace insécable de code 160 :
Code:
=SUBSTITUE(SUPPRESPACE(Extractor(C2;"-";1));CAR(160);)
Edit : autre solution, peut-être meilleure, en remplaçant d'abord le caractère 160 par un espace normal :
Code:
=SUPPRESPACE(SUBSTITUE(Extractor(C2;"-";1);CAR(160);" "))
A+
 
Dernière édition:

Aladin

XLDnaute Occasionnel
Re : Suppression caractere invisible

Bonsoir à tous
La suggestion de Donnée/Convertir a été utilisé, et ne ma pas donné satisfaction sur cette colonne de donnée précise, mais m' a déja rendu service sur d' autres données. De plus Les donnes sont variables c' est pour cela que j' ai préfére le vba.
J' ai testé la fonction de Staple1600 et l' ai adopté. elle fonctionne correctement.L' Ajout du TRIM je n' y avait pas pensé.
Merci a vous tous d' etre venu à mon aide
Aladin
 

Discussions similaires

Statistiques des forums

Discussions
312 107
Messages
2 085 355
Membres
102 873
dernier inscrit
yayo