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

fonction VBA pour supprimer les espaces d'une chaine textuelle

5 réponses
Avatar
Antoine76
Bonsoir à tous,

Dans le cadre d'un programme en cours d'écriture, je souhaiterai éviter les
erreurs possibles dues à la "variabilité" d'écriture de certains noms comme,
swisslife ou swiss life, CSC ou C S C... C'est pourquoi je voudrais employer
une fonction VBA Excel que je crois avoir déjà rencontré, mais que je
n'arrive pas à retrouver tant dans VBA pour excel ou VBA pour office, que
sur l'aide en ligne.
Peut-être cela n'est-il qu'une chimère et que je suis obligé de me rabattre
sur la fonction InStr(phrase, " ") dans le cadre d'une boucle qui supprimera
chaque espace détecté ?

Ma question inspire-t-elle des ondes positives (!) ?

Merci à tous.

Antoine

5 réponses

Avatar
Clément Marcotte
Bonjour,

Dans VB6, il y a bien la fonction replace() qui ferait le boulot en un rien
de temps, mais j'avoue que je ne l'ai pas trouvée dans VBA, mais je n'ai pas
cherché bien longtemps.

"Antoine76" a écrit dans le message de news:

Bonsoir à tous,

Dans le cadre d'un programme en cours d'écriture, je souhaiterai éviter
les
erreurs possibles dues à la "variabilité" d'écriture de certains noms
comme,
swisslife ou swiss life, CSC ou C S C... C'est pourquoi je voudrais
employer
une fonction VBA Excel que je crois avoir déjà rencontré, mais que je
n'arrive pas à retrouver tant dans VBA pour excel ou VBA pour office, que
sur l'aide en ligne.
Peut-être cela n'est-il qu'une chimère et que je suis obligé de me
rabattre
sur la fonction InStr(phrase, " ") dans le cadre d'une boucle qui
supprimera
chaque espace détecté ?

Ma question inspire-t-elle des ondes positives (!) ?

Merci à tous.

Antoine




Avatar
RaMa
Bonsoir

mavar = Application.WorksheetFunction.Substitute(mavar, " ", "")

Salutations

Rama

"Antoine76" a écrit dans le message de news:

Bonsoir à tous,

Dans le cadre d'un programme en cours d'écriture, je souhaiterai éviter
les
erreurs possibles dues à la "variabilité" d'écriture de certains noms
comme,
swisslife ou swiss life, CSC ou C S C... C'est pourquoi je voudrais
employer
une fonction VBA Excel que je crois avoir déjà rencontré, mais que je
n'arrive pas à retrouver tant dans VBA pour excel ou VBA pour office, que
sur l'aide en ligne.
Peut-être cela n'est-il qu'une chimère et que je suis obligé de me
rabattre
sur la fonction InStr(phrase, " ") dans le cadre d'une boucle qui
supprimera
chaque espace détecté ?

Ma question inspire-t-elle des ondes positives (!) ?

Merci à tous.

Antoine




Avatar
Antoine76
bonsoir Rama

merci à toi (et aussi à Clément Marcotte) pour ton coup de pouce...

Y'a plus qu'a !

Antoine

"RaMa" a écrit dans le message de news:

Bonsoir

mavar = Application.WorksheetFunction.Substitute(mavar, " ", "")

Salutations

Rama

"Antoine76" a écrit dans le message de news:

Bonsoir à tous,

Dans le cadre d'un programme en cours d'écriture, je souhaiterai éviter
les
erreurs possibles dues à la "variabilité" d'écriture de certains noms
comme,
swisslife ou swiss life, CSC ou C S C... C'est pourquoi je voudrais
employer
une fonction VBA Excel que je crois avoir déjà rencontré, mais que je
n'arrive pas à retrouver tant dans VBA pour excel ou VBA pour office,
que


sur l'aide en ligne.
Peut-être cela n'est-il qu'une chimère et que je suis obligé de me
rabattre
sur la fonction InStr(phrase, " ") dans le cadre d'une boucle qui
supprimera
chaque espace détecté ?

Ma question inspire-t-elle des ondes positives (!) ?

Merci à tous.

Antoine








Avatar
JB
Bonjour,

Pour supprimer les doubles espaces(laisse un espace)
Appllication. Trim est la fonction suppresapce() du tableur.

Sélectionner le champ puis macro.

Sub SupEspace()
For Each c In Selection
If Left(c.Formula, 1) <> "=" Then
c.Value = Application.Trim(c.Value)
End If
Next c
End Sub

Cordialement JB
Avatar
Antoine76
Bonsoir JB

je pense que viens d'être pointée du doigt la fonction dont j'avais des
souvenirs "vaporeux".
je crois que le doute est ainsi levé !

Merci à tous

Antoine
"JB" a écrit dans le message de news:

Bonjour,

Pour supprimer les doubles espaces(laisse un espace)
Appllication. Trim est la fonction suppresapce() du tableur.

Sélectionner le champ puis macro.

Sub SupEspace()
For Each c In Selection
If Left(c.Formula, 1) <> "=" Then
c.Value = Application.Trim(c.Value)
End If
Next c
End Sub

Cordialement JB