Bonjour a tous, voila le message quotidien du boulet de l'ete !!!!!!!!!

Situation :
Je remplis un formulaire (on l'appellera A) (selectionne une entree puis entre la quantite), une fois que c'est fait je clique sur OK pr continuer, et si il n'y a pas d'erreur de saisie un dernier formulaire (B) s'ouvre et recopie mes entrees dans des listbox. Sur ce dernier formulaire, mon bouton OK fonctionne mais en revanche j'ai un demi-souci avec le bouton ANNULER.
*Si au formulaire A je n'ai pas commis d'erreur de saisie, le bouton ANNULER de B fonctionne correctement : il me ramene a la page d'accueil.
*Si au formulaire A je me suis trompee en saisissant la quantite (oubli de saisie ou mauvaise saisie (caracteres non numeriques), apres le clic sur OK une MsgBox me l'a signale, et en personne eduquee j'ai corrige mon erreur et reclique sur OK et suis arrivee au formulaire B.
A ce moment la, si je clique sur ANNULER (sur B), j'ai un probleme : il m'ajoute les entrees pr lesquelles je me suis trompee au formulaire A (alors que je les ai deja), autant de fois que j'ai appuye sur le bouton OK alors que j'avais tjs un probleme de saisie au formulaire A. Une fois qu'il a atteint ce nbre de fois, c'est bon il fait ce que je veux (retour a l'accueil).

Voila le code du bouton OK du formulaire A, je pense que la correction sera a apporter a ca :

--Registrar_Entrada c'est le "formulaire B"--

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
30
31
32
33
34
35
Sub Validar_Click()
 
     Ropa.Hide
     Registrar_entrada.Inic_entrada
     'Inic_entrada initialise le formulaire B en mettant ce qu'il faut dans tous 
     'les champs (certains sont vides, d'autres st mis a leur valeur initiale...)
     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
          If Parar = True Then
          'ce If c'est si jamais j'ai clique sur Annuler, pour bien sortir proprement
          'de la procedure de OK
                Exit Sub
          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
Le code de Annuler du formulaire B n'a rien d'extraordinaire, peut-etre qu'en fait c'est la dedans qu'il y a un souci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
Sub Cancelar_entrada_Click()
     Registrar_entrada.Hide
     Worksheets("Inicio").Activate
End Sub
Voili voilou, alors je sais pas si avec ca vs pouvez m'aider, si vs avez besoin de plus de details demandez moi !

Merci beaucoup de votre aide

PS je finis mon stage dans 2 semaines, vous n'entendrez plus parler de moi !!!!