VBA - fonction nombre caractère ?

popo68 Messages postés 28 Date d'inscription   Statut Membre Dernière intervention   -  
Heliotte Messages postés 1491 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous !

Voilà, j'ai une variable i, qui contient un nombre qui s'incrémente de +1 a chaque boucle de mon DO UNTIL ... LOOP.

En faite, j'aimerais savoir quel est la fonction qui me permet de savoir à chaque fois que je passe à la dizaine supérieur, ou en faite de savoir combien y a de caractère dans i

J'avais fait len(i), mais ca a pas l'air de marcher avec des variables numériques ?

en faite pour i= de 0à 9 -> je voudrais avoir 1
et donc de i = de 10 à 99 -> je voudrais avoir 2
etc...

Merci par avance ^^

3 réponses

blux Messages postés 27109 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 
Salut,

il faut convertir ton nombre en chaine, puis demander la longueur de la chaine (en sachant qu'un espace est réservé pour l'affichage du signe).

Ca donnerait un truc comme ça :
MsgBox Len(Str(i) - 1)
Attention, ça ne reconnait que le premier passage à l'unité supérieure (dizaine, centaine, millier, diaine de milliers..., mais de 20 à 30, même longueur). Si tu veux le passage à la dizaine, il faut tester si 'i' est divisible par 10...
6
popo68 Messages postés 28 Date d'inscription   Statut Membre Dernière intervention  
 
Merci blux, ca marche, mais faut sortir le -1, plutot comme ca :

j = Len(Str(i)) - 1


Merci les gars ! ^^
0
blux Messages postés 27109 Date d'inscription   Statut Modérateur Dernière intervention   3 359 > popo68 Messages postés 28 Date d'inscription   Statut Membre Dernière intervention  
 
Vi, t'as raison, j'avais pas testé...
0