Comment supprimer des espace vide dans une chaine

DraaFil 264 Messages postés mercredi 16 avril 2003Date d'inscription 23 mars 2012 Dernière intervention - 23 janv. 2006 à 04:01 - Dernière réponse : biegontrand 5 Messages postés vendredi 27 octobre 2006Date d'inscription 9 mai 2011 Dernière intervention
- 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

Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 23 janv. 2006 à 10:18
+9
Utile
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
Cette réponse vous a-t-elle aidé ?  
drelinqc 2 Messages postés samedi 26 avril 2003Date d'inscription 23 janvier 2006 Dernière intervention - 23 janv. 2006 à 04:16
0
Utile
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
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 23 janv. 2006 à 07:50
0
Utile
salut,

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



stChaine = "bonjour a toi"

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

CR
Renfield 17307 Messages postés mercredi 2 janvier 2002Date d'inscription 18 janvier 2017 Dernière intervention - 23 janv. 2006 à 10:52
0
Utile
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
crenaud76 4172 Messages postés mercredi 30 juillet 2003Date d'inscription 9 juin 2006 Dernière intervention - 23 janv. 2006 à 14:14
0
Utile
OK ! comme vB6 est compliqué en fait !!!

CR
biegontrand 5 Messages postés vendredi 27 octobre 2006Date d'inscription 9 mai 2011 Dernière intervention - 21 avril 2011 à 16:28
0
Utile
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.