Supprimer le nombre 0 dans une chaîne de caractère ?

Résolu
Messages postés
131
Date d'inscription
jeudi 21 mai 2009
Statut
Membre
Dernière intervention
18 mars 2012
-
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
-
Bonsoir à vous,


Comment pourrais-je faire pour supprimer le nombre 0 dans une chaîne de caractère ?

Exemple : Test-0000025125

Je veux obtenir : Test-25125


Le nombre de 0 est variable mais toujours derrière le signe -.


J'ai essaye ce code mais il me supprime tous les 0.

******************************
If InStr(1, Text5.Text, "0") <> 0 Then
Text5.Text = Left(Text5.Text, Len(Text5.Text) - 1) & ""
Text5.SelStart = Len(Text5.Text)
End If

******************************

Exemple :Test-100004

J'obtiens: Test-14



Alors que dans ce cas là je ne voudrais rien changer à cette référence.

Il faudrait enlever tous les 0 entre le signe ? et le premier chiffre qui peut allait de 1 à 9.

Merci pour votre aide.

22 réponses

Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
7
Bonjour, us_30

Voilà du code un chouia plus long, mais sans récursivité (qui utilise également le Replace)

Ici : un seul replace, in fine


Private Function atraiter(c As String) As String
atraiter = c
Do While InStr(atraiter, "-0") > 0
Mid(atraiter, InStr(atraiter, "-0"), 2) = Chr(9) & "-"
Loop
atraiter = Replace(atraiter, Chr(9), "")
End Function


Pas vérifié si plus rapide ou pas ...
Messages postés
2065
Date d'inscription
lundi 11 avril 2005
Statut
Membre
Dernière intervention
14 mars 2016
10
Bonjour jmf0,

L'apéro est pour un code plus court ... c'est loupé ! ... Pas pour le code le plus rapide...

Amicalement,
Us.