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
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

Electron24

XLDnaute Occasionnel
Ok. J'avais pas fait gaffe trop fixé sur le IF. J'ai trouvé la solution cela fonctionne correctement . encore un grand merci à vous tous qui m'avez donné un peu de votre temps et beaucoup de vos connaissances.
 

Discussions similaires

  • Résolu(e)
Microsoft 365 Boucle FOR
Réponses
7
Affichages
416
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…