Bonjour à tous :
Voilà, je voudrai désactiver la molette de ma souris dans tous mes formulaires et j'ai trouvé le code dans la FAQ:
1ere étape:
Ouvrir un module VBA, aller dans Outils/Références, cliquer sur Parcourir et localiser la dll MouseWheel.dll puis cliquer sur Ouvrir. Cela permet d'enregistrer la dll dans les Références Access.
2eme étape :
Mettre le code suivant dans chaque formulaire qui requiert un contrôle de la roulette de la souris.
La première étape est OK, seulement je ne sais pas où mettre les 3 derniers codes. Donc voilà le code Vba complet de mon formulaire et j'aurais aimé que vous me disiez ce que vous en pensez car je ne pense pas qu'il me faille créer les procédures chargement et fermeture, je dois sûrement les avoir déjà non?
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 ' Déclaration dans chaque formulaire après Option Explicit et Option Compare Database Private WithEvents clsMouseWheel As MouseWheel.CMouseWheel 'Procédure à rajouter dans chaque formulaire Private Sub clsMouseWheel_MouseWheel(Cancel As Integer) Cancel = True End Sub Private Sub Form_Load() 'Code à rajouter dans l'événement chargement de chaque formulaire Set clsMouseWheel = New MouseWheel.CMouseWheel Set clsMouseWheel.Form = Me clsMouseWheel.SubClassHookForm End Sub Private Sub Form_Close() 'Code à rajouter dans l'événement fermeture de chaque formulaire If Not (clsMouseWheel Is Nothing) Then clsMouseWheel.SubClassUnHookForm Set clsMouseWheel.Form = Nothing Set clsMouseWheel = Nothing End If End Sub
Voilà TOUT mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Option Compare Database Private WithEvents clsMouseWheel As MouseWheel.CMouseWheel 'J'ai rajouté le premier code là '
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Private Sub Modifiable26_AfterUpdate() ' Rechercher l'enregistrement correspondant au contrôle. Dim rs As Object Set rs = Me.Recordset.Clone rs.FindFirst "[NumClient] = " & Str(Nz(Me![Modifiable26], 0)) If Not rs.EOF Then Me.Bookmark = rs.Bookmark 'Est-ce que c'est ça mon évenement chargement du formulaire dans lequel je dois rajouter le deuxième code ? ' End Sub
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90 Private Sub Commande35_Click() On Error GoTo Err_Commande35_Click ' Valider un enregistrement DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 Exit_Commande35_Click: Exit Sub Err_Commande35_Click: MsgBox Err.Description Resume Exit_Commande35_Click End Sub Private Sub Commande38_Click() ' Ajouter un nouvel enregistrement On Error GoTo Err_Commande38_Click DoCmd.OpenForm "Bilan contact" DoCmd.GoToRecord , , acNewRec Exit_Commande38_Click: Exit Sub Err_Commande38_Click: MsgBox Err.Description Resume Exit_Commande38_Click End Sub Private Sub Commande39_Click() 'Supprimer un enregistrement On Error GoTo Err_Commande39_Click DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70 DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70 Modifiable26.Requery Exit_Commande39_Click: Exit Sub Err_Commande39_Click: MsgBox "Vous devez avoir supprimé tous les rendez-vous du client avant de pouvoir supprimer ce dernier. Pour cela, sélectionnez toutes les lignes de rendez-vous et appuyer sur le bouton ''Suppr'' de votre clavier.", vbOKOnly + vbExclamation, "Note d'utilisation" MsgBox Err.Description Resume Exit_Commande39_Click End Sub Private Sub BC_RetourMP_ListingClient_Click() 'Fermer le formulaire pour en ouvrir un autre On Error GoTo Err_BC_RetourMP_ListingClient_Click Dim stDocName As String stDocName = "RetourMP_ListingClients" DoCmd.RunMacro stDocName Exit_BC_RetourMP_ListingClient_Click: Exit Sub Err_BC_RetourMP_ListingClient_Click: MsgBox Err.Description Resume Exit_BC_RetourMP_ListingClient_Click End Sub Private Sub Commande55_Click() 'Aperçu de l'état On Error GoTo Err_Commande55_Click Dim stDocName As String stDocName = "Fiche_Client" DoCmd.OpenReport stDocName, acPreview Exit_Commande55_Click: Exit Sub Err_Commande55_Click: MsgBox Err.Description Resume Exit_Commande55_Click End SubVoilà, sinon j'avais penser à carrement créer ("insertion") 2 procédures pour les 2 derniers codes Form_Load et Form_Close ???????
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 'Procédure à rajouter dans chaque formulaire Private Sub clsMouseWheel_MouseWheel(Cancel As Integer) Cancel = True End Sub 'J'ai simplement créé cette procédure comme expliqué dans la FAQ
Merci d'avance pour vos explications, je suis débutante en VBA...
Partager