[RESOLU] Boucle qui plante (For - Next)

Babytroll

XLDnaute Nouveau
Bonjour,

J'ai ce bout de code qui m'ennui :

Private Sub CommandButton1_Click()
For i = 1 To 10
If Me.Controls("TextBox" & i) = "" Then
MsgBox "Veuillez remplir tous les champs"
Me.Controls("TextBox" & i).SetFocus
Exit Sub
End If
Next i
Unload Me
End Sub

Le contrôle fonctionne (msgbox qd une textbox vide), mais si toutes les cellules sont vides = plantage...

Il s'agit donc de tester toutes les textbox de mon userform, mais ça plante irrémédiablement.
Je suis sous 2010.

Merci de votre aide, en espérant avoir donné toutes les indications nécessaires...
 
Dernière édition:

Paf

XLDnaute Barbatruc
Re : Boucle qui plante (For - Next)

Bonjour

Si ça plante quand la boucle se déroule complétement, peut-être n'y a-t-il pas 10 textbox , ou que certains noms ne sont pas de la forme : TextBox1,TextBox2 ,TextBox3 ....TextBox10 ?

Si c'est pas ça, un classeur permettra de mieux diagnostiquer.

A+
 

david84

XLDnaute Barbatruc
Re : Boucle qui plante (For - Next)

A tester si cela peut t'aider (à placer dans un bouton de commande par exemple) :
Code:
Private Sub CommandButton1_Click()
Dim Ctl As Control
For Each Ctl In Me.Controls
  'Debug.Print TypeName(Ctl)
  If TypeOf Ctl Is MSForms.TextBox Then
    MsgBox "Vous êtes passé dans un contrôle " & TypeName(Ctl)
  End If
Next
End Sub
A+
 

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz