Boucle VBA

Résolu/Fermé
chewbi47 Messages postés 12 Date d'inscription mardi 20 mars 2012 Statut Membre Dernière intervention 29 mai 2013 - 5 avril 2012 à 13:25
chewbi47 Messages postés 12 Date d'inscription mardi 20 mars 2012 Statut Membre Dernière intervention 29 mai 2013 - 5 avril 2012 à 13:52
Bonjours a vous, grands detenteurs de la connaissance VBA,

Voici mon soucis

J'ai des "references" dans une plage (sur une meme colonne) et normalement elles ont 13 carateres.
Seulement, certaines de ces references ont des carateres en moins.
Le but du jeu est de rajouter des "0" devant la reference pour la cellule contienne 13 carateres.

J'ai pense a faire une boucle pour cela mais je me suis toujours debrouiller pour les eviter donc j'ai pas vraiment de competence sur les boucles.

Il faut verifier le nombre de caratere present dans chaque cellules ( et mettre des zero devant si besoin) et ce dans toutes les cellules de la plage...

Comment faire ?

Merci d'avance

2 réponses

chewbi47 Messages postés 12 Date d'inscription mardi 20 mars 2012 Statut Membre Dernière intervention 29 mai 2013 1
Modifié par chewbi47 le 5/04/2012 à 14:03
c'est pas mal, ca m'evite encore une fois de toucher aux boucles ^^

petite precision je suis sur la version EN d'excel du coup, la fonction NBCAR = LEN

merci
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié par michel_m le 5/04/2012 à 14:01
bonjour

une piste avec une formule
=REPT(0;13-NBCAR(A1))&A1

pour te donner le principe de ce que tu demandes

J'ai pense a faire une boucle pour cela mais je me suis toujours debrouiller pour les eviter

Alors, évite de faire du vba !!!

je te laisse donc le thread sur une cellule:
Cells(ligne, colonne) = Application.Rept(0, 13 - Len(Cells(ligne, colonne))) & Cells(ligne, colonne)  

eh oui, il faut que tu fasses une boucle: moi, je débrouille car j'ai la flemme

Michel
-1