Bonjour,

J'ai un petit souci avec une boucle FOR je ne sais pas comment en sortir.
Je remplis un formulaire qui dispose d'un bouton OK et d'un ANNULER et le valide en cliquant sur OK et a ce moment la je rentre dans ma boucle FOR qui verifie toutes les entrees de mon formulaire : si je me suis trompe quelque part il y a une MsgBox qui me demande de corriger etc. jusqu'a ce que ce soit tout bon.
Cependant, si je clique une premiere fois sur OK ca suffit pour qu'il rentre dans la boucle, et si par la suite je veux arreter la saisie et revenir a zero, je vais donc cliquer sur ANNULER. Ca me ramene bien au debut mais ca ne me fait pas sortir de la boucle du OK et du coup celle la engendre des erreurs. Voila un bout de code :

Quand je clique sur ANNULER :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
Sub Cancelar_Click()
     Ropa.Hide 'Ca me sort du formulaire que je suis en train de remplir
     Designacion.Inic_Desi_Entrada 'Mise a zero du formulaire precedent
     Designacion.Show 'Montre le formulaire precedent
End Sub
Quand je clique sur OK :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
Sub Validar_Click()
 
     Ropa.Hide
     Registrar_entrada.Inic_entrada
     Dim i as Integer
     Dim art as String
     Dim Cant as Integer
     Dim Num as Integer
     Num = Ropa.Selec_ropa.ListCount
 
    'La je vais rentrer dans ma boucle. Ropa.Controls("Cant" & i + 1) c'est le
    'champ ou j'ai rentre la quantite de l'article i, et que je veux verifier avant
    'de passer au formulaire suivant
    For i = 0 to Num - 1
          art = Ropa.Selec_ropa.List(i,0)
          If Not IsNumeric(Ropa.Controls("Cant" & i + 1).Value) Then
                MsgBox ("Verifica la cantidad del articulo: " + art + ".")
                Ropa.Controls("Cant" & i + 1).Value = Empty
                Ropa.Controls("Cant" & i + 1).SetFocus
                Ropa.Show
          End If
          Cant = Ropa.Controls("Cant" & i + 1).Value
          Registrar_entrada.Detalle_des.AddItem art
          Registrar_entrada.Detalle_cant.AddItem Cant
          Registrar_entrada.Detalle_fec.AddItem "--"
     Next i
 
End Sub
Voila donc le truc c'est que je sais pas si je dois mettre qqchose dans le code de OK pour dire que si je click sur ANNULER je sors de la boucle (et si je dois le faire je ne sais pas comment), ou si plutot je devrais faire qqchose pr que ANNULER soit prioritaire (idem, je ne sais pas comment...)

Merci beaucoup de votre aide !
Carole