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
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.
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
Bonjour à vous tous,
Merci infiniment pour vos solutions, mais on s'éloigne un peu de la demande.
Ou se place la boucle FOR dans tout cela.
Car, il faut bien vérifier les 5 textbox
Cordialement
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.