IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Désactiver molette de la souris : besoin d'aide sur le code


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 56
    Points : 36
    Points
    36
    Par défaut Désactiver molette de la souris : besoin d'aide sur le code
    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.
    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
    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?
    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 Sub
    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
    Voilà, sinon j'avais penser à carrement créer ("insertion") 2 procédures pour les 2 derniers codes Form_Load et Form_Close ???????

    Merci d'avance pour vos explications, je suis débutante en VBA...

  2. #2
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonjour,

    Les procédures Form_Load et Form_Close correspondent respectivement aux évènements Sur Chargement et Sur Fermeture du formulaire, de même que Modifiable26_AfterUpdate est la procédure correspondant à l'évènement Après Mise à Jour de ta liste déroulante Modifiable26.

    En passant, prends l'habitude de nommer tes objets... http://argyronet.developpez.com/office/vba/convention/





    Citation Envoyé par fanico11 Voir le message
    ... je suis débutante en VBA...
    J'avais deviné



    Bon courage

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 56
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par mout1234 Voir le message
    Bonjour,

    Les procédures Form_Load et Form_Close correspondent respectivement aux évènements Sur Chargement et Sur Fermeture du formulaire, de même que Modifiable26_AfterUpdate est la procédure correspondant à l'évènement Après Mise à Jour de ta liste déroulante Modifiable26.

    En passant, prends l'habitude de nommer tes objets... http://argyronet.developpez.com/office/vba/convention/






    J'avais deviné



    Bon courage
    Merci beaucoup c'est tout ce que j'avais besoin de savoir... Merci de prendre le temps d'expliquer à une pauvre ignare de mon genre et ce de façon aussi simple !!

    Bonne continuation et merci encore...

  4. #4
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    de rien

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. besoin d'aide sur le code d'impression
    Par casfiwi dans le forum SAGE
    Réponses: 1
    Dernier message: 13/10/2014, 19h56
  2. Besoin d'aide sur un code - File.io
    Par Freud44 dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 01/08/2008, 20h26
  3. [acces 2003] Désactivé molette de la souris
    Par Milyshyn76 dans le forum VBA Access
    Réponses: 9
    Dernier message: 25/01/2008, 09h50
  4. [intermedia] besoin d'aide sur script PL/SQL
    Par SteelBox dans le forum PL/SQL
    Réponses: 8
    Dernier message: 05/01/2004, 19h59
  5. [CR] besoin d'aide sur les formules
    Par GuillaumeDSA dans le forum Formules
    Réponses: 4
    Dernier message: 10/07/2003, 12h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo