Microsoft 365 Boucle FOR

Electron24

XLDnaute Occasionnel
Bonsoir le forum,
Voici mon souci, dans un formulaire, j'ai 5 TxtBox identifié: R_T1_G1_1, R_T1_G1_2, R_T1_G1_3, R_T1_G1_4, R_T1_G1_5 contenant des nombres.
Je souhaite si le nombre est 0 qu'il n'apparaisse pas dans le Txtbox donc non visible.
Pour cela je pense utiliser une boucle FOR qui vérifie chaque TxtBox et si celui ci contient un 0 (Zéro) alors il vide celui ci.
Mais, hélas je plante et n'arrive pas à trouver la bonne formule.

VB:
Dim i as byte
For i=1 to 5
if R_T1_G1_& i = 0 then
R_T1_G1_& i =""
next i

Merci de me venir en aide
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir à tous,

En toute rigueur, je pense que vos solutions fonctionnent uniquement parce que VBA fait des conversions implicites de types, conversions qu'on ne maitrise pas du tout car on n'en connait pas la logique. Il me semble qu'il faudrait écrire en toute logique : If Controls("R_T1_G1_" & i) = "0" (avec des guillemets).

Voir le fichier ci-dessus avec deux tout petits codes. Un qui compare avec 0 et qui échoue et un autre qui compare avec "0" et qui réussit :
VB:
Private Sub btKO_Click()
Dim t
   t = 0
   If TextBox1 = t Then TextBox1 = ""
End Sub

Private Sub btOK_Click()
Dim t
   t = "0"
   If TextBox1 = t Then TextBox1 = ""
End Sub
 

Pièces jointes

  • Electron24- textbox 0- v1.xlsm
    18.8 KB · Affichages: 3

Discussions similaires

  • Résolu(e)
Microsoft 365 Boucle FOR
Réponses
7
Affichages
400
Réponses
4
Affichages
283

Statistiques des forums

Discussions
314 863
Messages
2 113 657
Membres
111 932
dernier inscrit
remixxx