Posez votre question Signaler

VBA - fonction nombre caractère ?

popo68 28Messages postés 17 septembre 2006Date d'inscription - Dernière réponse le 28 sept. 2006 à 14:25
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 ^^
Lire la suite 

VBA - fonction nombre caractère »

4 réponses
Réponse
+4
moins plus
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...
popo68- 28 sept. 2006 à 14:04
Merci blux, ca marche, mais faut sortir le -1, plutot comme ca :

j = Len(Str(i)) - 1


Merci les gars ! ^^
blux- 28 sept. 2006 à 14:25
Vi, t'as raison, j'avais pas testé...
Ajouter un commentaire
Réponse
+0
moins plus
Salut,

Sub longueur()
For i = 1 To 1100
 t = Int(i / 10)
 m = i Mod 10
 If m = 0 Then
  Debug.Print i - 10 & " à " & i - 1 & " longueur i = " & Len(i - 1)
 End If
Next
End Sub
Un petit résultat
longueur
0 à 9 longueur i = 1
10 à 19 longueur i = 2
20 à 29 longueur i = 2
30 à 39 longueur i = 2
40 à 49 longueur i = 2
50 à 59 longueur i = 2
60 à 69 longueur i = 2
70 à 79 longueur i = 2
80 à 89 longueur i = 2
90 à 99 longueur i = 2
100 à 109 longueur i = 3
110 à 119 longueur i = 3
120 à 129 longueur i = 3
130 à 139 longueur i = 3
140 à 149 longueur i = 3
150 à 159 longueur i = 3
160 à 169 longueur i = 3
170 à 179 longueur i = 3
180 à 189 longueur i = 3
190 à 199 longueur i = 3
200 à 209 longueur i = 3
210 à 219 longueur i = 3
220 à 229 longueur i = 3
230 à 239 longueur i = 3
240 à 249 longueur i = 3
250 à 259 longueur i = 3
260 à 269 longueur i = 3
270 à 279 longueur i = 3
280 à 289 longueur i = 3
290 à 299 longueur i = 3
300 à 309 longueur i = 3
310 à 319 longueur i = 3
320 à 329 longueur i = 3
330 à 339 longueur i = 3
340 à 349 longueur i = 3
350 à 359 longueur i = 3
360 à 369 longueur i = 3
370 à 379 longueur i = 3
380 à 389 longueur i = 3
390 à 399 longueur i = 3
400 à 409 longueur i = 3
410 à 419 longueur i = 3
420 à 429 longueur i = 3
430 à 439 longueur i = 3
440 à 449 longueur i = 3
450 à 459 longueur i = 3
460 à 469 longueur i = 3
470 à 479 longueur i = 3
480 à 489 longueur i = 3
490 à 499 longueur i = 3
500 à 509 longueur i = 3
510 à 519 longueur i = 3
520 à 529 longueur i = 3
530 à 539 longueur i = 3
540 à 549 longueur i = 3
550 à 559 longueur i = 3
560 à 569 longueur i = 3
570 à 579 longueur i = 3
580 à 589 longueur i = 3
590 à 599 longueur i = 3
600 à 609 longueur i = 3
610 à 619 longueur i = 3
620 à 629 longueur i = 3
630 à 639 longueur i = 3
640 à 649 longueur i = 3
650 à 659 longueur i = 3
660 à 669 longueur i = 3
670 à 679 longueur i = 3
680 à 689 longueur i = 3
690 à 699 longueur i = 3
700 à 709 longueur i = 3
710 à 719 longueur i = 3
720 à 729 longueur i = 3
730 à 739 longueur i = 3
740 à 749 longueur i = 3
750 à 759 longueur i = 3
760 à 769 longueur i = 3
770 à 779 longueur i = 3
780 à 789 longueur i = 3
790 à 799 longueur i = 3
800 à 809 longueur i = 3
810 à 819 longueur i = 3
820 à 829 longueur i = 3
830 à 839 longueur i = 3
840 à 849 longueur i = 3
850 à 859 longueur i = 3
860 à 869 longueur i = 3
870 à 879 longueur i = 3
880 à 889 longueur i = 3
890 à 899 longueur i = 3
900 à 909 longueur i = 3
910 à 919 longueur i = 3
920 à 929 longueur i = 3
930 à 939 longueur i = 3
940 à 949 longueur i = 3
950 à 959 longueur i = 3
960 à 969 longueur i = 3
970 à 979 longueur i = 3
980 à 989 longueur i = 3
990 à 999 longueur i = 3
1000 à 1009 longueur i = 4
1010 à 1019 longueur i = 4
1020 à 1029 longueur i = 4
1030 à 1039 longueur i = 4
1040 à 1049 longueur i = 4
1050 à 1059 longueur i = 4
1060 à 1069 longueur i = 4
1070 à 1079 longueur i = 4
1080 à 1089 longueur i = 4
1090 à 1099 longueur i = 4
A adapter.

lami20j
Ajouter un commentaire
Ce document intitulé « VBA - fonction nombre caractère ? » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?