[Excel/VBA] Supprimer les 0 extérieurs dans une donnée alphanumérique

Supprimer les 0 extérieurs dans une donnée alphanumérique [Excel/VBA] - VB/VBA/VBS - Programmation

Marsh Posté le 21-07-2011 à 11:06:12    

Bonjour,
 
Je suis plutôt un habitué d'une autre section du forum, mais j'ai un petit problème alors je fais appel à l'équipe de programmeur qui doit roder dans cette section.  :D  
 
J'ai une colonne dans laquelle se trouve des numéros de séries, certain numériques et d'autres alphanumériques.
J'aimerai, pour les données alphanumériques, supprimer les 0 qui se trouvent aux extremités.
 
Par exemple, j'aimerais transformer 0000000078AP48 en 78AP48
 
J'ai beau chercher, je ne trouve pas réponse à cette question.
 
Merci d'avance amis hfriens  :hello:

Reply

Marsh Posté le 21-07-2011 à 11:06:12   

Reply

Marsh Posté le 21-07-2011 à 16:56:25    

Faire une petite boucle du genre (pas testé)


ma_var = "0000000078AP48"
lg_ma_var = Len(ma_var)
new_lg_ma_var = lg_ma_var
for i = 1 to Len(ma_var)
  If (Left(ma_var = "0" ) Then
    new_lg_ma_var = new_lg_ma_var - 1
    ma_var = Right(ma_var, new_lg_ma_var)
  Else
    Exit For
  End If
Next i

Reply

Marsh Posté le 22-07-2011 à 09:18:46    

Merci pour la réponse.
 
J'ai cependant un message d'erreur quand il arrive au Left :"Erreur de compilation, argument non facultatif".
 
(J'ai rajouté la parenthèse oubliée mais rien n'y fait).

Reply

Marsh Posté le 22-07-2011 à 09:20:19    

Oui, il y a une petite erreur.
Il faudrait avoir :

 If (Left(ma_var, 1) = "0" ) Then

Reply

Marsh Posté le 22-07-2011 à 14:31:54    

Pfiouh cette prise de tête...
 
En plus s'il ne trouve pas 0 il sort de la boucle... Alors qu'il peut y avoir un 0 plus loin... ("aux extrémités" )
 

Code :
  1. ma_var = "0000000078AP4800"
  2. lg_ma_var = Len(ma_var)
  3. For i = 1 To lg_ma_var
  4.     If Mid(ma_var, i, 1) <> "0" Then
  5.         new_ma_var = new_ma_var & Mid(ma_var, i, 1)
  6.     End If
  7. Next i


---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 22-07-2011 à 15:53:27    

Ca marche parfaitement merci !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed