Bonsoir à tous.
J'ai plusieurs formulaires dans lesquels il y a un Textbox date (ET_datesoins) et deux boutons associés pour décrémenter (BtnDec) et incrémenter (BtnInc) de un jour à chaque click.
Petite précision : je veux interdire la saisie de date > à Date().
Jusque là, tout va bien.
J'ai mis une procédure sur click sut mon TextBox pour ouvrir un autre form, une boite de dialogue avec dedans un activex Calendar.
Jusque là tout va encore trés bien, je sais récupérer dans ET_datesoins, la date sélectionnée dans mon activex.
Mais là où je bloque complètement, c'est que je voudrais aussi réactiver mon bouton BtnInc de mon form actif si la date est < à date().
Voici mon code et le pb se situe dans activation de BtnInc :
J'arrive à identifier le form actif et rien de plus.
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 Private Sub Calendar0_Click() Dim frm As String Dim ctl As String Dim btn As CommandButton Dim objForm As AccessObject, dbs As Object On Error GoTo Err_Args frm = Mid(Me.Caption, 1, InStr(1, Me.Caption, "!") - 1) ctl = Mid(Me.Caption, InStr(1, Me.Caption, "!") + 1) If IsNull(frm) Or frm = "" Or IsNull(ctl) Or ctl = "" Then GoTo Err_Args If Me.calendar0 > Date Then MsgBox "Veuillez saisir une date antérieure à aujourd'hui !", vbOKOnly + vbCritical, "Action interdite" Forms(frm)(ctl) = Date GoTo Err_Args Else: Forms(frm)(ctl) = Me.calendar0 DoCmd.Close 'activation de BtnInc quelque soit le formulaire appelant Set dbs = Application.CurrentProject For Each objForm In dbs.AllForms If objForm.IsLoaded = True Then Set btn = objForm!BtnInc objForm!btn.Enabled = True End If Next End If Err_Args: End Sub
Le code ci joint n'affiche aucune erreur mais ne fonctionne pas du tout car rien ne se passe.
Merci pour vos idées.
Partager