Bloquer roulette souris sur formuliare

Fermé
ALAINMANTE - 16 avril 2009 à 11:22
 NVannier - 16 juin 2011 à 12:34
Bonjour,sur ACCESS 2003, comment fait-on pour que la roulette soit inopérante sur formulaire et ne fasse pas défiler l'enregistrement en cours de saisie sur formulaire ? Merci;
A voir également:

8 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
16 avril 2009 à 11:50
1
Le plus simple (et de loin) c'est la méthode suivante :
http://arkham46.developpez.com/articles/access/mousewheelnoreg/

Je la recommande chaudement.
0
qmike Messages postés 1506 Date d'inscription mardi 19 juillet 2005 Statut Membre Dernière intervention 18 juin 2012 594
16 avril 2009 à 11:30
bonjour
inspires toi de ca

https://support.microsoft.com/en-us
bonne journée
0
merci d'essayer de m'aider mais je suis un peu lâché avec toutes ces indications sur ton lien. librairie, dll, ... Peux tu me donner un marche à suivre simple ? un bout de code à mettre quelque part par exemple ? merci encore. cordialement.
0
hich24 Messages postés 1619 Date d'inscription mardi 2 octobre 2007 Statut Membre Dernière intervention 11 avril 2023 752
16 avril 2009 à 11:37
déactive a partire du paneau de configuration
0
Merci mais coimment faire sur l'option roulette de la souris ? pas de désactivation visible . Cordialement.
0
qmike Messages postés 1506 Date d'inscription mardi 19 juillet 2005 Statut Membre Dernière intervention 18 juin 2012 594
16 avril 2009 à 18:51
oui
' 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

source : ww.developez.com
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Merci de te donner la peine d'écrire tout ça, j'ai recopié ces codes comme tu as dit ... ça coince encore un peu :j'obtiens une fenêtre "l'expression sur chargement entrée comme paramètre de la propriété événement est à l'origine d'une erreur. Type défini par l'utilisateur non défini" ... je bloque là, tu peux m'aider ? merci
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
17 avril 2009 à 08:58
Bonjour,
Qmike s'est borné qu'à copier-coller qu'une partie du lien que je t'avais indiqué...
Tu as à activer la dll Mousewheel et peut-être la télécharger chez microsoft
c'est décrit dans la 1° étape de ce lien...

mais c'est peut-être trop de te demander d'aller sur ce lien;: j'ai encore bossé pour rien et c'est lassant
0
Bonjour, personne ne pense à se moquer de toi michel, je suis profane simplement complètement largué et pour moi c'est du chinois, je croyais que c'était un truc plus simple... télécharger une dll ... je veux bien mais ça se fait comment ? j'en suis là...désolé de t'avoir vexé; cordialement.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
18 avril 2009 à 23:02
Bonjour,

OK, mais si tu débutes en VBA, tu ne commences pas par le + facile

Comme cela t'a été suggéré sur self-access.com, tu as 2 méthodes expliquées sur le site de mon voisin Ardèchois Raymond Sénèque:
http://officesystemaccess.seneque.net/souris.htm
la 2° est casse-#@\¤ surtout si tu ne connais pas les modules de classe mais la première est faisable, peut-être pas du 1° coup, aussi fais une copie de ta base avant de te lancer et imprime la procédure proposée...
l'activation REGSVR32.EXE C:\Windows\System32\MouseWheel.dll se fait à partir de Windows par démarrer -exécuter

Pour ma part, j'ai laissé tomber ce blocage de roulette, car si tu le fais sur 1 formulaire, il faudra que tu le fasses sur tous les formulaires de toutes tes bases. Je n'ai jamais eu de problèmes avec des utilisateurs une fois informés lors de la livraison : "on pourrait mais c'est tout un B... à installer et ca peut bloquer Access"

Mais c'est en essayant de nouveaux trucs que tu progresseras
0
Merci de t'être donné tout ce mal, mais je crois que je vais faire comme toi, je vais mettre une étiquette en rouge "attention la roulette déplace les enregistrements" sur le form et ne pas prendre le risque que les utilisateurs m'appellent toutes les 10 mn pour me dire que ça plante; Merci encore.
0
J'ai mis du temps à trouver la solution !! Mais enfin une solution simple ...

Il suffit d'ajouter en evenement sur l'ouverture du formulaire la ligne suivante (VBA):

Allowadditions = False

Cela interdit tout simplement à access la possibilité d'ajouter un enregistrement supplementaire par simple action de la molette.
-1