Bonjour tout le monde,
Je rencontre un problème tout bête et je ne vois pas d'où vient mon erreur. Peut être allez vous pouvoir m'aider
J'ai un formulaire simple composé de 2 boutons (valider nommé v ou quitter nommé q) et où je demande à l'utilisateur d'inscrire un chiffre (zone de texte dont le nom est d) et de choisir dans une liste déroulante (zone de liste modifiable dont le nom est s) un intitulé pré enregistré.
Voici le code du formulaire:
Je souhaite ensuite utiliser ces données inscrites par l'utilisateur dans un module. Le but du module est de calculer une date qui correspond à la date d’aujourd’hui moins le nombre de jours inscrits dans le formulaire (correspond à delais ie d). Voici le code:
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 ' Initialisation du formulaire Private Sub UserForm_initialize() formulaire.d.Value = 10 ' délais en jours entre aujourd'hui et le dernier contact With s .AddItem "AUTORISER" .AddItem "REJET" End With End Sub Private Sub v_click() If IsNumeric(formulaire.d.Value) = False Then MsgBox "Veuillez inscrire un caractère numérique" Unload Me formulaire.Show End If delais = formulaire.d.Value ' A réutiliser dans le code statut = formulaire.s.Value ' A réutiliser dans le code formulaire.Hide Unload formulaire End Sub Private Sub q_click() formulaire.Hide End End Sub
Quand je lance mon module, j'ai le userform (nommé formulaire) qui apparait à l'écran. Je remplie ce qui faut remplir et je clique sur valider. Ensuite ça marche pas. Le delais dans mon module n'a pas de valeur. Donc impossible de calculer la nouvelle date. En gros les données inscrites dans le formulaire ne sont pas "chargées" dans le module.
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 Option Explicit Public delais, d As Integer Public statut, s As String Sub final2() Dim today As Double Dim date_nouvelle As Date 'chargement du formulaire Load formulaire formulaire.Show today = Now date_nouvelle = Now - delais MsgBox "date nouvelle vaut: " & date_nouvelle End Sub
Une idée ?
edit: j'ai déjà ajouté dans le code de mon module un msgbox pour renvoyer la valeur de delais. delais ne vaut rien. Rien ne s'affiche.
Merci d'avance pour vos réponses !!![]()
Partager