OVH Cloud OVH Cloud

Espaces inutiles..

13 réponses
Avatar
Kévin
Bonjour,

Les fonctions Ltrim, Rtrim et Trim permettent de=20
supprimer les espaces =E0 gauche et =E0 droite d'une cha=EEne=20
de caract=E8res.

Ce qui m'int=E9resse c'est de pouvoir supprimer les doubles=20
ou triple espaces =E0 l'int=E9rieur! Voici par exemple:


" Il y a trop d' espaces ! " deviendrait "Il y a=20
trop d'espaces!"

Existe-t-il une fonction vba qui permette de faire =E7a?=20
Sinon comment s'y prendre en vba?

En vous remerciant par avance pour votre aide.

Salut.

10 réponses

1 2
Avatar
Philippe.R
Bonjour Kévin,
Un peu lourd, mais remplace les doubles à quintuples espaces par des simples :

Sub tropdespaces()
ActiveCell.Value = Application.WorksheetFunction _
.Substitute(Application.WorksheetFunction _
.Substitute(Application.WorksheetFunction _
.Substitute(Application.WorksheetFunction _
.Substitute(ActiveCell.Value, " ", " ") _
, " ", " "), " ", " "), " ", " ")
End Sub
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"Kévin" a écrit dans le message de news:
169601c4b999$1f1f5b20$
Bonjour,

Les fonctions Ltrim, Rtrim et Trim permettent de
supprimer les espaces à gauche et à droite d'une chaîne
de caractères.

Ce qui m'intéresse c'est de pouvoir supprimer les doubles
ou triple espaces à l'intérieur! Voici par exemple:


" Il y a trop d' espaces ! " deviendrait "Il y a
trop d'espaces!"

Existe-t-il une fonction vba qui permette de faire ça?
Sinon comment s'y prendre en vba?

En vous remerciant par avance pour votre aide.

Salut.
Avatar
Ricky
Bonjour *Kévin*

=SUPPRESPACE() devrait faire l'affaire
Ricky [MVP] Visitez les faq....
http://www.faqoe.com http://faqword.free.fr
http://dj.joss.free.fr/faq.htm http://www.excelabo.net
| Bonjour,
|
| Les fonctions Ltrim, Rtrim et Trim permettent de
| supprimer les espaces à gauche et à droite d'une chaîne
| de caractères.
|
| Ce qui m'intéresse c'est de pouvoir supprimer les doubles
| ou triple espaces à l'intérieur! Voici par exemple:
--
Avatar
Daniel.j
Bonjour,
Possible comme cela: (xl 2003)
Sub SupTousEspaces()

[B1] = "=TRIM(A1)"

End Sub

Daniel







"Kévin" a écrit dans le message de news:
169601c4b999$1f1f5b20$
Bonjour,

Les fonctions Ltrim, Rtrim et Trim permettent de
supprimer les espaces à gauche et à droite d'une chaîne
de caractères.

Ce qui m'intéresse c'est de pouvoir supprimer les doubles
ou triple espaces à l'intérieur! Voici par exemple:


" Il y a trop d' espaces ! " deviendrait "Il y a
trop d'espaces!"

Existe-t-il une fonction vba qui permette de faire ça?
Sinon comment s'y prendre en vba?

En vous remerciant par avance pour votre aide.

Salut.
Avatar
RaMA
Bonjour

Sub SupEsp()
Dim Rnet
Rnet = Trim([A1])
Do While InStr(Rnet, " ") > 0: Rnet = Replace(Rnet, " ", " "): Loop
[A1] = Rnet
End Sub
Salutations
RaMa

--
.
"Kévin" a écrit dans le message de
news: 169601c4b999$1f1f5b20$
Bonjour,

Les fonctions Ltrim, Rtrim et Trim permettent de
supprimer les espaces à gauche et à droite d'une chaîne
de caractères.

Ce qui m'intéresse c'est de pouvoir supprimer les doubles
ou triple espaces à l'intérieur! Voici par exemple:


" Il y a trop d' espaces ! " deviendrait "Il y a
trop d'espaces!"

Existe-t-il une fonction vba qui permette de faire ça?
Sinon comment s'y prendre en vba?

En vous remerciant par avance pour votre aide.

Salut.
Avatar
AV
[A1] = [trim(A1)]

AV
Avatar
RaMA
Bonjour alain
je comprends pourquoi en hébreux AV c'est le père (Dieu)

Evaluate

[Salutations]
RaMa

--
.
"AV" a écrit dans le message de news:

[A1] = [trim(A1)]

AV




Avatar
docm
[TRIM(A1)]
C'est l'équivalent de Application.Evaluate("TRIM(A1)")
soit la fonction de feuille =SUPPRESPACE(A1)

"RaMA" wrote in message
news:
Bonjour alain
je comprends pourquoi en hébreux AV c'est le père (Dieu)

Evaluate

[Salutations]
RaMa

--
.
"AV" a écrit dans le message de news:

[A1] = [trim(A1)]

AV








Avatar
RaMA
Bonjour docm

oui j'avais bien compris mais vois-tu
ma machine me sert aussi de chauffage central
avec les solutions d'AV il va falloir que j'investisse
dans un chauffage d'appoint
Salutations
RaMa

--
.
"docm" a écrit dans le message de news:

[TRIM(A1)]
C'est l'équivalent de Application.Evaluate("TRIM(A1)")
soit la fonction de feuille =SUPPRESPACE(A1)

"RaMA" wrote in message
news:
Bonjour alain
je comprends pourquoi en hébreux AV c'est le père (Dieu)

Evaluate

[Salutations]
RaMa

--
.
"AV" a écrit dans le message de news:

[A1] = [trim(A1)]

AV












Avatar
GD
Bonsour ® Kevin ,
il est à noter que les fonctions TRIM
ont des résultats differents selon VBA ou EXCEL
la fonction de feuille de calcul =SUPPRESPACE (=TRIM en langage US)
se comporte differement de la fonction VBA TRIM,

seule la fonction de feuille de calcul supprime les espaces interieurs
ce qu'a parfaitement résumé AV ;-)))
pour s'en convaincre :

Sub Supprimer_les_espaces_en_trop()
texteorigine = " <=5 sp! <=3 sp!2 sp> <=là!4 sp là=> "
[A1] = texteorigine
[B1].FormulaLocal = "=NBCAR(A1)"
[A2].Formula = "=TRIM(A1)" ' --------fonction feuille de calcul
[B2].FormulaLocal = "=NBCAR(A2)"
[A3] = Trim(texteorigine) ' ---------fonction VBA
[B3].FormulaLocal = "=NBCAR(A3)"
[A4]= [TRIM(A1)] ' ------réponse de AV

Range("A1:A4").Font.Name = "Courier new"
End Sub


dans news:169601c4b999$1f1f5b20$,
Kévin typed:
Bonjour,

Les fonctions Ltrim, Rtrim et Trim permettent de
supprimer les espaces à gauche et à droite d'une chaîne
de caractères.

Ce qui m'intéresse c'est de pouvoir supprimer les doubles
ou triple espaces à l'intérieur! Voici par exemple:


" Il y a trop d' espaces ! " deviendrait "Il y a
trop d'espaces!"

Existe-t-il une fonction vba qui permette de faire ça?
Sinon comment s'y prendre en vba?

En vous remerciant par avance pour votre aide.

Salut.


Avatar
docm
:)))))))

"RaMA" wrote in message
news:
Bonjour docm

oui j'avais bien compris mais vois-tu
ma machine me sert aussi de chauffage central
avec les solutions d'AV il va falloir que j'investisse
dans un chauffage d'appoint
Salutations
RaMa

--
.
"docm" a écrit dans le message de news:

[TRIM(A1)]
C'est l'équivalent de Application.Evaluate("TRIM(A1)")
soit la fonction de feuille =SUPPRESPACE(A1)

"RaMA" wrote in message
news:
Bonjour alain
je comprends pourquoi en hébreux AV c'est le père (Dieu)

Evaluate

[Salutations]
RaMa

--
.
"AV" a écrit dans le message de news:

[A1] = [trim(A1)]

AV
















1 2