Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Enlever les espaces non significatifs

8 réponses
Avatar
René Delcourt
Bonjour les excellents,

Dans une colonne, il y a des noms (bizarres) du type "Jean Balthazar ".
Je voudrais enlever les blancs finaux non significatifs.
J'ai fait rechercher remplacer 1 espace : "JeanBalthazar", c'est pas ça
J'ai fait rechercher remplacer 2 espaces : "Jean Balthazar ", il reste un
espace à la fin en fonction du nombre pair ou impair d'espaces.
Une solution en Excel ou VBA?

--
René Delcourt

8 réponses

Avatar
HD
Une solution en Excel ou VBA?


En VBA on a la fonction Trim qui enlève les espaces gauche et droit. Il y'a
aussi LTrim pour les espaces gauches et RTrim pour les espaces droits.

On aurait qque chose du genre :

For each c in Columns(1)
c.value = Trim(c.value)
Next

Pour la colonne 1 bien sûr...
--
@+
HD

Avatar
Circé
Bonjour René,

Je pense que la fonction SUPPRESPACE est faite pour toi !

Circé
http://faqword.free.fr

René Delcourt a utilisé son clavier pour écrire :
Bonjour les excellents,

Dans une colonne, il y a des noms (bizarres) du type "Jean Balthazar
". Je voudrais enlever les blancs finaux non significatifs.
J'ai fait rechercher remplacer 1 espace : "JeanBalthazar", c'est pas
ça J'ai fait rechercher remplacer 2 espaces : "Jean Balthazar ", il
reste un espace à la fin en fonction du nombre pair ou impair
d'espaces. Une solution en Excel ou VBA?


Avatar
Daniel
Bonjour.
Essaie la fonction EPURAGE
Cordialement.
Daniel
"René Delcourt" a écrit dans le message de news:

Bonjour les excellents,

Dans une colonne, il y a des noms (bizarres) du type "Jean Balthazar ".
Je voudrais enlever les blancs finaux non significatifs.
J'ai fait rechercher remplacer 1 espace : "JeanBalthazar", c'est pas ça
J'ai fait rechercher remplacer 2 espaces : "Jean Balthazar ", il reste un
espace à la fin en fonction du nombre pair ou impair d'espaces.
Une solution en Excel ou VBA?

--
René Delcourt


Avatar
René Delcourt
Bonjour,
Supprespace, TRIM, epurage...que de ressources.Merci.
Avec TRIM, j'ai une erreur 13 (incompatibilité de type)...
--
René Delcourt



Une solution en Excel ou VBA?


En VBA on a la fonction Trim qui enlève les espaces gauche et droit. Il y'a
aussi LTrim pour les espaces gauches et RTrim pour les espaces droits.

On aurait qque chose du genre :

For each c in Columns(1)
c.value = Trim(c.value)
Next

Pour la colonne 1 bien sûr...
--
@+
HD






Avatar
Modeste
Bonsour®
Daniel wrote:
Essaie la fonction EPURAGE


?????
a noter la difference entre la fonction feuille de calcul : SUPPRESPACE
et la fonction VBA : TRIM
Supprespace enleve tout les espaces avant et aprés, les espaces internes
sont réduits à un seul
Trim enleve les espaces avant et aprés mais ne touche pas aux espaces
internes

exemple :
Sub Macro1()
letexte = " :<espaces à gauche>: :<ici espaces puis espaces à
droite>: "
[A1] = " Texte "
[B1] = " Longeur "
[C1] = " nb espaces"

[A2] = letexte
[B2] = Len(letexte)
[C2].FormulaLocal = "=NBcar(A2)-nbcar(SUBSTITUE(a2;"" "";""""))"

[A2].Columns.AutoFit
'---- suppression en formule feuille de calcul
[A3].FormulaLocal = "=SUPPRESPACE(a2)"
[B3].FormulaLocal = "=NBCAR(A3)"
[C3].FormulaLocal = "=NBcar(A3)-nbcar(SUBSTITUE(a3;"" "";""""))"
'---- suppresion en fonction VBA
[A4] = Trim([A2])
[B4].FormulaLocal = "=NBCAR(A4)"
[C4].FormulaLocal = "=NBcar(A4)-nbcar(SUBSTITUE(a4;"" "";""""))"

'---- suppression totale des espaces
[A5].FormulaLocal = "=SUBSTITUE(a2;"" "";"""")"
[B5].FormulaLocal = "=NBCAR(A5)"
[C5].FormulaLocal = "=NBcar(A5)-nbcar(SUBSTITUE(a5;"" "";""""))"

End Sub



--
n'oubliez pas les FAQ :
http://www.excelabo.net http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr
--
Feed Back
http://viadresse.com/?94912042

Avatar
HD
Alors mettre :

On Error Resume Next
Dim c As Range

Columns(3).Select
For Each c In Selection
c.Value = Trim(c.Value)
Next


L'erreur 13 peut provenir d' un "#VALEUR" ou d'un "#DIV/0!"... Mais il est
vrai que VBA n'accepte pas mon script précédent pourtant tout paraissait
correct... Si qq'un a une idée ?
--
@+
HD
Avatar
Daniel
Bonjour.
J'ai fait rechercher remplacer 2 espaces : "Jean Balthazar ", il reste un
espace à la fin en fonction du nombre pair ou impair d'espaces.
J'en ai déduit la présence d'un caractère non imprimable dans la cellule.

Daniel
"Modeste" a écrit dans le message de news:

Bonsour®
Daniel wrote:
Essaie la fonction EPURAGE


?????



Avatar
Modeste
Bonsour®
Daniel wrote:

en fait, si l'on fait rechercher remplacer 2 espaces et que l'on en trouve
qu'un alors celui-ci reste !!!
J'en ai déduit la présence d'un caractère non imprimable dans la cellule.


EPURAGE n'a d'effet que sur les caractères de bas niveau tels que CR, LF,
EOT, EOF, BS etc ...
c'est a-dire des caratères de code ASCII inferieurs à 32


deduire et confirmer ;o)))
pour cela il suffit de faire =CODE(DROITE(A1))
;o)))
abondance de solutions ne nuit pas !!!!
--
n'oubliez pas les FAQ :
http://www.excelabo.net http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr
--
Feed Back
http://viadresse.com/?94912042