roulette souris (encore et encore) - code bugé sous Access 97
6 réponses
J'ai-Du-Bois
Bonjour =E0 tous,
Je suis conscient d'=EAtre le =E9ni=E8me novice =E0 soulever ce, pourtant
si simple, probl=E8me, et je m'en excuse.
J'esp=E8re renouveler un peu les questions qui portent sur ce sujet en
posant la mienne :
VBA me signale que le code contenu dans le module CMouseWheel est faux.
Pourquoi?
Ce que j'ai fait :
J'ai trouv=E9 sur un site exemplaire
(http://officesystem.access.free.fr/souris.htm), un code permettant de
supprimer l'usage de la souris dans un formulaire.
Comme je ne veux pas faire appel =E0 une dll ext=E9rieur, j'ai ins=E9r=E9
le code du premier site dans des modules Access, tout comme cela est
indiqu=E9 sur le site. Jusque l=E0 pas de probl=E8me.
Cependant quand je fais un copier coller du code pour le module
CMouseWheel, VBA me signale trois erreurs dans le code.
Exemple (la deuxi=E8me erreur) :
Public Sub SubClassHookForm()
lpPrevWndProc =3D SetWindowLong(frm.hwnd, GWL_WNDPROC, AddressOf
WindowProc)
Set CMouse =3D Me
End Sub
Dans ce code, =E0 la seconde ligne, sur "AddressOf WindowProc", VBA dit
qu'il voulait une expression (erreur de compilation: Attendu:
Expression)
Tu as bien copié le code ci-dessous dans un module de *classe* et non un module standard(encore dit de portée globale) ? Hormis ce cas de figure, je ne vois pas, hélas, comment t'aider.
Option Compare Database Option Explicit Private frm As Access.Form Private intCancel As Integer Public Event MouseWheel(Cancel As Integer) Public Property Set Form(frmIn As Access.Form) Set frm = frmIn End Property Public Property Get MouseWheelCancel() As Integer MouseWheelCancel = intCancel End Property Public Sub SubClassHookForm() lpPrevWndProc = SetWindowLong(frm.hwnd, GWL_WNDPROC, _ AddressOf WindowProc) Set CMouse = Me End Sub Public Sub SubClassUnHookForm() Call SetWindowLong(frm.hwnd, GWL_WNDPROC, lpPrevWndProc) End Sub Public Sub FireMouseWheel() RaiseEvent MouseWheel(intCancel) End Sub
Bonjour à tous,
Je suis conscient d'être le énième novice à soulever ce, pourtant si simple, problème, et je m'en excuse.
J'espère renouveler un peu les questions qui portent sur ce sujet en posant la mienne :
VBA me signale que le code contenu dans le module CMouseWheel est faux. Pourquoi?
Ce que j'ai fait :
J'ai trouvé sur un site exemplaire (http://officesystem.access.free.fr/souris.htm), un code permettant de supprimer l'usage de la souris dans un formulaire.
Comme je ne veux pas faire appel à une dll extérieur, j'ai inséré le code du premier site dans des modules Access, tout comme cela est indiqué sur le site. Jusque là pas de problème.
Cependant quand je fais un copier coller du code pour le module CMouseWheel, VBA me signale trois erreurs dans le code.
Exemple (la deuxième erreur) :
Public Sub SubClassHookForm() lpPrevWndProc = SetWindowLong(frm.hwnd, GWL_WNDPROC, AddressOf WindowProc) Set CMouse = Me End Sub
Dans ce code, à la seconde ligne, sur "AddressOf WindowProc", VBA dit qu'il voulait une expression (erreur de compilation: Attendu: Expression)
Je suis sous Access 97, Windows 2000.
J'espère avoir été assez clair.
Merci pour l'attention que vous me portez,
GDUBOIS
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour GDUBOIS,
Tu as bien copié le code ci-dessous dans un module de *classe* et non un
module standard(encore dit de portée globale) ? Hormis ce cas de figure,
je ne vois pas, hélas, comment t'aider.
Option Compare Database
Option Explicit
Private frm As Access.Form
Private intCancel As Integer
Public Event MouseWheel(Cancel As Integer)
Public Property Set Form(frmIn As Access.Form)
Set frm = frmIn
End Property
Public Property Get MouseWheelCancel() As Integer
MouseWheelCancel = intCancel
End Property
Public Sub SubClassHookForm()
lpPrevWndProc = SetWindowLong(frm.hwnd, GWL_WNDPROC, _
AddressOf WindowProc)
Set CMouse = Me
End Sub
Public Sub SubClassUnHookForm()
Call SetWindowLong(frm.hwnd, GWL_WNDPROC, lpPrevWndProc)
End Sub
Public Sub FireMouseWheel()
RaiseEvent MouseWheel(intCancel)
End Sub
Bonjour à tous,
Je suis conscient d'être le énième novice à soulever ce, pourtant
si simple, problème, et je m'en excuse.
J'espère renouveler un peu les questions qui portent sur ce sujet en
posant la mienne :
VBA me signale que le code contenu dans le module CMouseWheel est faux.
Pourquoi?
Ce que j'ai fait :
J'ai trouvé sur un site exemplaire
(http://officesystem.access.free.fr/souris.htm), un code permettant de
supprimer l'usage de la souris dans un formulaire.
Comme je ne veux pas faire appel à une dll extérieur, j'ai inséré
le code du premier site dans des modules Access, tout comme cela est
indiqué sur le site. Jusque là pas de problème.
Cependant quand je fais un copier coller du code pour le module
CMouseWheel, VBA me signale trois erreurs dans le code.
Exemple (la deuxième erreur) :
Public Sub SubClassHookForm()
lpPrevWndProc = SetWindowLong(frm.hwnd, GWL_WNDPROC, AddressOf
WindowProc)
Set CMouse = Me
End Sub
Dans ce code, à la seconde ligne, sur "AddressOf WindowProc", VBA dit
qu'il voulait une expression (erreur de compilation: Attendu:
Expression)
Je suis sous Access 97, Windows 2000.
J'espère avoir été assez clair.
Merci pour l'attention que vous me portez,
GDUBOIS
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Tu as bien copié le code ci-dessous dans un module de *classe* et non un module standard(encore dit de portée globale) ? Hormis ce cas de figure, je ne vois pas, hélas, comment t'aider.
Option Compare Database Option Explicit Private frm As Access.Form Private intCancel As Integer Public Event MouseWheel(Cancel As Integer) Public Property Set Form(frmIn As Access.Form) Set frm = frmIn End Property Public Property Get MouseWheelCancel() As Integer MouseWheelCancel = intCancel End Property Public Sub SubClassHookForm() lpPrevWndProc = SetWindowLong(frm.hwnd, GWL_WNDPROC, _ AddressOf WindowProc) Set CMouse = Me End Sub Public Sub SubClassUnHookForm() Call SetWindowLong(frm.hwnd, GWL_WNDPROC, lpPrevWndProc) End Sub Public Sub FireMouseWheel() RaiseEvent MouseWheel(intCancel) End Sub
Bonjour à tous,
Je suis conscient d'être le énième novice à soulever ce, pourtant si simple, problème, et je m'en excuse.
J'espère renouveler un peu les questions qui portent sur ce sujet en posant la mienne :
VBA me signale que le code contenu dans le module CMouseWheel est faux. Pourquoi?
Ce que j'ai fait :
J'ai trouvé sur un site exemplaire (http://officesystem.access.free.fr/souris.htm), un code permettant de supprimer l'usage de la souris dans un formulaire.
Comme je ne veux pas faire appel à une dll extérieur, j'ai inséré le code du premier site dans des modules Access, tout comme cela est indiqué sur le site. Jusque là pas de problème.
Cependant quand je fais un copier coller du code pour le module CMouseWheel, VBA me signale trois erreurs dans le code.
Exemple (la deuxième erreur) :
Public Sub SubClassHookForm() lpPrevWndProc = SetWindowLong(frm.hwnd, GWL_WNDPROC, AddressOf WindowProc) Set CMouse = Me End Sub
Dans ce code, à la seconde ligne, sur "AddressOf WindowProc", VBA dit qu'il voulait une expression (erreur de compilation: Attendu: Expression)
Je suis sous Access 97, Windows 2000.
J'espère avoir été assez clair.
Merci pour l'attention que vous me portez,
GDUBOIS
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
3stone
Salut,
"J'ai-Du-Bois" [...] Public Sub SubClassHookForm() lpPrevWndProc = SetWindowLong(frm.hwnd, GWL_WNDPROC, AddressOf WindowProc) Set CMouse = Me End Sub
Dans ce code, à la seconde ligne, sur "AddressOf WindowProc", VBA dit qu'il voulait une expression (erreur de compilation: Attendu: Expression)
Je suis sous Access 97, Windows 2000.
------------
Office/Access 97 ne connait pas AdressOf !
Utilise cette fonction en remplacement : http://www.3stone.be/access/articles.php?lng=fr&pg59