Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Boucle FOR

Electron24

XLDnaute Occasionnel
Bonjour le Forum,

J'ai un souci avec une boucle FOR
Dans un formulaire, j'ai 21 TxtBox nommées T_01 à T_21)
J'ai dans l'initialisation de mon formulaire la formule suivante :
VB:
dim i as string

For i= 01 to 21
T_i=(Format(T_i, "0.00 €")
Next i

Et cela ne marche pas . Je ne comprends pas le pourquoi
 
Solution
Dans UserForm_Initialize ceci va bien :
VB:
Me("T_Total") = 0
For i = 1 To 21
    Me("T_Total") = Me("T_Total") + CDbl(Me("T_" & Format(i, "00")))
    Me("T_" & Format(i, "00")) = Format(Me("T_" & Format(i, "00")), "0.00 €")
Next i
Me("T_Total") = Format(Me("T_Total"), "0.00 €")
A condition que les valeurs des TextBox soient initialisées avec le séparateur décimal de l'ordi.

Electron24

XLDnaute Occasionnel
Je reviens vers vous, car en poursuivant mon travail je m'aperçois que cela ne fonctionne pas tout à fait correctement.
J'ai à la suite des 21 Txtbox (T_01 à T21) un Txtbox nommé T_Total qui fait la somme des 21 TxtBox.
Il est formaté après UpDate par la formule T_Total =Format(T_Total, "0.00 €)
Le résultat me donne toujours des zéros après la virgule. (Ex: T_01 = 21.72 € + _02=12.55 € donne 33.00 €
bien que la formule est T_Total= CDbl(T_01) + CDbl(T_02) + CDbl(T_03) + CDbl(T_04) +...... + CDbl(T_21)
 

job75

XLDnaute Barbatruc
Dans UserForm_Initialize ceci va bien :
VB:
Me("T_Total") = 0
For i = 1 To 21
    Me("T_Total") = Me("T_Total") + CDbl(Me("T_" & Format(i, "00")))
    Me("T_" & Format(i, "00")) = Format(Me("T_" & Format(i, "00")), "0.00 €")
Next i
Me("T_Total") = Format(Me("T_Total"), "0.00 €")
A condition que les valeurs des TextBox soient initialisées avec le séparateur décimal de l'ordi.
 

Discussions similaires

Réponses
7
Affichages
288
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…