Bloquer roulette souris sur formuliare

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;
Configuration: Windows XP
Internet Explorer 7.0

8 réponses

  1. bonjour
    inspires toi de ca

    https://support.microsoft.com/en-us
    bonne journée
    0
    1. 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
  2. déactive a partire du paneau de configuration
    0
    1. Merci mais coimment faire sur l'option roulette de la souris ? pas de désactivation visible . Cordialement.
      0
  3. 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
    1. 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
      1. Contributeur
        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
        1. 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
      2. Contributeur
        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
        1. 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
      3. 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