Bonjour à tous,
Dans la macro que j'ai créé (merci à tous ceux qui ont contribué à résoudre certaines difficultés), je vérifie ce qui a été saisi dans les TextBox's et demande à l'utilisateur de recommencer la saisie en cas de mauvaise entrée.
En fonctionnement normal, si l'utilisateur a saisi une entrée correcte, la macro fonctionne parfaitement.
Dès lors qu'une entrée est erronée, le code mis en place averti l'utilisateur et lui demande de corriger et une fois l'erreur corrigée la macro reprend son cours.
Le problème est que, dans ce cas, après exécution des toutes les Subs du programme, je reviens dans la partie du code qui vérifie la saisie sur la ligne End Sub, ce qui est normal, puis entre à nouveau dans ce code sur un End If.
C'est ce comportement que je ne comprends pas, je dois avoir oublié quelque chose, mais quoi???
J'ai bien en tête l'utilisation depour me faciliter les choses mais cela ne me convient pas puisque le programme devrait s’arrêter sans cet artefact.Exit Sub
Voici la partie du code concernée, après un passage par la ligne 31 lors de la phase de fin du programme le code passe à nouveau par la ligne 15, puis 16 etc..
Un conseil éclairé serait le bienvenu.
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 Private Sub Close_Form_Click() Dim B As Variant Dim Act As Worksheet Dim TB1 As Variant Set Act = ThisWorkbook.Sheets("Actual") B = MsgBox("Do you want to save the data ?", vbYesNoCancel + vbExclamation, WARNING) If B = vbYes Then If Milestone_Edit.TextBox1.Value <> "" And Len(Milestone_Edit.TextBox1.Text) < 10 Then TB1 = MsgBox("Date Format must be" & vbCr & "dd/mm/yyyy", vbOKOnly, "WARNING") If TB1 = vbOK Then Me.Hide Milestone_Edit.TextBox1 = "" Milestone_Edit.TextBox1.SetFocus Milestone_Edit.Show End If End If Me.Hide TextBox1_Value 'Milestone_Edit.Show Update_Actual actual ElseIf B = vbNo Then Me.Hide Milestone_Edit.Show ElseIf B = vbCancel Then B = MsgBox("Update Cancelled", vbOKOnly) Me.Hide Exit Sub End If End Sub
Merci pour votre aide et votre collaboration
Eric
Partager