Comment supprimer des espace vide dans une chaine

Messages postés
264
Date d'inscription
mercredi 16 avril 2003
Dernière intervention
23 mars 2012
- - Dernière réponse : biegontrand
Messages postés
5
Date d'inscription
vendredi 27 octobre 2006
Dernière intervention
9 mai 2011
- 21 avril 2011 à 16:28
Bonjour a tous, je cherche commnet supprimer les espace vide fans une chaine de caractere. ex: "bonjour a toi" avec espace
"bonjouratoi" snas espace

J'ai trouve la fonction trim mais cela ne vide pas les espace, juste a me dire quel fonction ou comment faire

Merci
Afficher la suite 

7 réponses

Meilleure réponse
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
9
Merci
d'accord avec pcpt, le do...until est inutile.

pas d'accord par contre avec la remarque sur le VbNullString, dont l'emploi est correct ici.

(VbNullstring, à ne pas confondre avec VbNullChar)

de plus, drelinqc Replace$ n'existe pas ^^
et le TextCompare (qui indique une recherche qui ignore la casse) est inutile ici, un espace majuscule, j'ai jamais vu ça ^^

je conclue donc en indiquant la ligne :

stChaine = "bonjour a toi"
stChaine = Replace(stChaine, " ", vbNullString)
MsgBox stChaine

PS:
Trim$ permet de supprimer les espaces a gauche et a droite de la chaine (comme dans " Bonjour ")
LTrim$ et RTrim$ ne 'nettoient' qu'un coté (Gauche ou droite)

Renfield
Admin CodeS-SourceS - MVP Visual Basic

Merci Renfield 9

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Messages postés
2
Date d'inscription
samedi 26 avril 2003
Dernière intervention
23 janvier 2006
0
Merci
Voici une fonction qui pourrait être utilisé pour résoudre votre problème :


Dim stChaine As String

stChaine = "Chaine de caractere ici"

Do Until InStr(1, stChaine, Chr$(32)) = 0
stChaine = Replace$(stChaine, Chr$(32), vbNullString, , , vbTextCompare)
Loop

' Maintenant la variable stChaine est vidée de ses espaces
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
0
Merci
salut,

le do est inutile est le vbnullstring est un chr(0), donc pas bien ;)



stChaine = "bonjour a toi"

stChaine = Replace$(stChaine," ", "")
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Dernière intervention
9 juin 2006
0
Merci
Renfield < Replace$ existe bel et bien, en VB6 du moins.

CR
Messages postés
17308
Date d'inscription
mercredi 2 janvier 2002
Dernière intervention
22 août 2018
0
Merci
Replace renvoie un String
Replace$ appelle Replace....

Replace$ n'apparait d'ailleurs pas dans l'explorateur d'objets (F2)
tapes
Replace$(
cliques dans le mot...
et presse Shift + F2

l'explorateur d'objet indique bien la fonction Replace...

Renfield
Admin CodeS-SourceS - MVP Visual Basic
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Dernière intervention
9 juin 2006
0
Merci
OK ! comme vB6 est compliqué en fait !!!

CR
Messages postés
5
Date d'inscription
vendredi 27 octobre 2006
Dernière intervention
9 mai 2011
0
Merci
Salut à vous, j'aimerais savoir si la fonction Replace$() peut etre utilisée en VBA sous Excel 2000 ?
Moi j'ai un problème comme celui ci :

J'utilise la fonction CountIf(). En fait j'aimerais pouvoir compter le nombre de personnes appartenant à une entité (service) : par exemple "DG / CA /MED". Comme vous voyez ma chaine de caractère contient des espaces. Mais lorsque j'utilise la fonction CountIf() ca se passe bien jusqu'ici :

For Each z1 In zone1
Application.CountIf(z1.Offset(0, 23), "*DG" & "*") then x1 = x1 + 1
Next z1

Mais mon problème est que j'ai aussi des entités comme : "DGA / DT / TP" par exemple et donc ma fonction me compte également ces personnes alors que "DG" est différent de "DGA". S'il vous plait, comment puis je faire la différence entre les deux ? Merci d'avance.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.