OVH Cloud OVH Cloud

Pb espace

3 réponses
Avatar
jean-claude.mansion
Bonjour =E0 tous

j'ai deux probl=E8mes (surement basiques) que je n'arrive=20
pas a resoudre:

le premier :
je voudrais dans un nom de ville remplacer les blanc par=20
un tiret, =E0 l'exclusion du premier blanc voici mon code

Dim vi As String
vi =3D "La chapelle saint mesmin"
'remplace le blanc d'un nom de ville compos=E9 par un trait
Do
posi =3D InStr(vi, " ")
If posi =3D 0 Then
Exit Do
ElseIf posi =3D 3 Then
Mid(vi, posi, 1) =3D " "
Else
Mid(vi, posi, 1) =3D "-"
End If
Loop

Je voudrais obtenir La chapelle-saint-mesmin

deuxieme probleme

dans un nom comme St Stavin ou la chapelle st mesmin je=20
voudrais remplacer St par Saint sans que cela transforme=20
saint stavin en saint saintavin

Pouvez-vous m'aider
Merci d'avance
Cordialement
JCM

3 réponses

Avatar
Vincent Guichard
a écrit :
le premier


strVille = Left$(strVille, InStr(strVille, " ")) & _
Replace(strVille, " ", "-", InStr(strVille, " ") + 1)
deuxieme probleme


strVille = Replace(strVille, "St ", "Saint ")

On peux éventuellement mémoriser InStr(strVille, " ") au lieu de le
calculer deux fois.

Vincent Guichard
Avatar
Christian HUBERT-HUGOUD- Xtrem7
Tu dois pouvoir faire des choses avec Replace.

Pour le second point, il faut sûrement chercher "St " et non "St"


"" a
écrit dans le message de news:290a01c48e89$ad48ce30$
Bonjour à tous

j'ai deux problèmes (surement basiques) que je n'arrive
pas a resoudre:

le premier :
je voudrais dans un nom de ville remplacer les blanc par
un tiret, à l'exclusion du premier blanc voici mon code

Dim vi As String
vi = "La chapelle saint mesmin"
'remplace le blanc d'un nom de ville composé par un trait
Do
posi = InStr(vi, " ")
If posi = 0 Then
Exit Do
ElseIf posi = 3 Then
Mid(vi, posi, 1) = " "
Else
Mid(vi, posi, 1) = "-"
End If
Loop

Je voudrais obtenir La chapelle-saint-mesmin

deuxieme probleme

dans un nom comme St Stavin ou la chapelle st mesmin je
voudrais remplacer St par Saint sans que cela transforme
saint stavin en saint saintavin

Pouvez-vous m'aider
Merci d'avance
Cordialement
JCM
Avatar
jean-claude.mansion
Bonjour Vincent

Merci pour tes réponses, c'est OK
Cordialement
JCM
-----Message d'origine-----
a écrit :
le premier


strVille = Left$(strVille, InStr(strVille, " ")) & _
Replace(strVille, " ", "-", InStr(strVille, " ") +


1)
deuxieme probleme


strVille = Replace(strVille, "St ", "Saint ")

On peux éventuellement mémoriser InStr(strVille, " ") au


lieu de le
calculer deux fois.

Vincent Guichard
.