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

Résolu
sancho12345 Messages postés 131 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 18 mars 2012 - 12 nov. 2009 à 21:26
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 - 15 nov. 2009 à 12:16
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

jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
14 nov. 2009 à 19:08
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 ...
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
15 nov. 2009 à 12:16
Bonjour jmf0,

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

Amicalement,
Us.
0
Rejoignez-nous