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

Access Discussion :

Débutant: Faire agir la molette de souris sur barre verticale de défilement d'un form


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 115
    Points : 61
    Points
    61
    Par défaut Débutant: Faire agir la molette de souris sur barre verticale de défilement d'un form
    Bonjour,

    J'ai suivi les conseil de ce post:

    http://www.developpez.net/forums/sho...molette+souris

    mais cela ne fonctionne pas. J'ai bien bloqué le fonctionnement de la souris au préalable.

    Si quelqu'un a une idée?

    Jocelyn

  2. #2
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 162
    Points : 197
    Points
    197
    Par défaut ???
    c'est quoi exactement le problème?

  3. #3
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 115
    Points : 61
    Points
    61
    Par défaut
    Pour être plus précis je me retrouve avec une erreur sur l'événement roulement de la souris qui me dit:

    "erreur de compilation: Sub ou Function non définie"

    Mon code pour l'événement est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Form_MouseWheel(ByVal Page As Boolean, ByVal Count As Long)
     
    SendMessage Me.hWnd, WM_VSCROLL, SB_LINEDOWN, 0&
     
    End Sub
    Avis aux amateurs.

    Cordialement,

    Jocelyn

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 115
    Points : 61
    Points
    61
    Par défaut
    Après plusieurs essais j'obtient toujours ce message:

    "L'expression sur ouverture entrée comme paramètre de la propriété de type événement est à l'origine d'une erreur.Type défini par l'utilisateur non défini.

    *Le résultat de l'expression n'est pas le nom d'une macro, le nom d'une fonction définie par l'utilisateur ou [Event Procedure].
    *Une erreur a peut être été commise lors de l'évaluation d'une fonction, d'un événement ou d'une macro"

    Comprends rien.

    Si quelqu'un a une idée car je vois pas?

    Merci,

    Jocelyn

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 115
    Points : 61
    Points
    61
    Par défaut
    C'est bon j'ai trouvé le problème. J'utilisais une dll différente de celle proposé sur le tuto proposé par arkham avec le code du tuto. Je pensais que les dll pour la souris étaient toutes les mêmes.

    Cela fonctione donc bien.

    Par contre je sais que je peux modifier la vitesse de défilement en modifiant le pas. Sur le tuto c'est écrit ceci:

    "Delta : déplacement de la roulette par pas de 120 : 120 correspond à un déplacement de un pas vers le haut, -120 vers le bas"

    Comment puis-je modifier cela?

    Merci,

    Jocelyn

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 115
    Points : 61
    Points
    61
    Par défaut
    Quelqu'un pourrai m'expliquer comment fonctionne le "Delta", please car je n'arrive pas à trouver quoi que ce soit la dessus?

    Merci,

    Jocelyn

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 115
    Points : 61
    Points
    61
    Par défaut Problème de molette sur sous formulaire
    Un nouveau problème vient d'apparaitre. La molette de la souris ne fonctionne plus si je clic dans la zone de mon sous formulaire.
    En faite j'ai un formulaire dans lequel j'ai un sous formulaire. Mon sous formulaire représente la seconde partie demon formulaire principal. Lorsqu je navigue sur mon formulaire à l'aide de la molette pas de souci mais si je clic dans la seconde partie (où il y a mon sous formulaire) alors celle ci sera bloqué.

    Comment puis-je faire?

    Jocelyn

  9. #9
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    salut,

    si j'ai bien compris ce qu tu souhaites, la réponse est ici :
    http://www.developpez.net/forums/sho...=wm_mousewheel

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 115
    Points : 61
    Points
    61
    Par défaut
    Bonsoir Arkham!!!

    Merci pour ta réponse. Je pense que cela devrait résoudre résoudre mon problème. Mon souci est que j'utilise la dll que tu m'as présenté dans le lien précédent et je ne sais pas si c'est la même chose.
    Je t'explique:
    J'ai copier le code du tuto qui fait référence à ton premier lien dans mon formulaire et dans mon sous formulaire. Mon souci c'est que je ne sais pas ou copier le code de ton nouveau lien et est-ce que celui-ci fonctionnera avec la dll que j'ai téléchargé de ton premier lien?
    J'ai testé de copier le code dans le formulaire puis dans le sous formulaire mais j'ai une erreur. De plus je ne sais pas pourquoi certain mot sont en rouge. Faut il que je les changent en autre chose?

    Tu vas me trouver mauvais mais je suis néophite de chez néophite.

    Mon appli devra fonctionner sous accès 2003.

    Si tu souhaites voir mon appli tu la trouveras au lien ci dessous:

    http://www.developpez.net/forums/sho...d.php?t=197073

    J'arrive au bout mais j'ai ramé

    Je suis désolé mais j'effectue toujours une recherche dans les forums avant de demander quelque chose mais j'aiutilisé les mots clés molette et sous-formulaire et je n'avais pas trouvé topn lien.

    Merci encore!

    Amicalement,

    Jocelyn

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 115
    Points : 61
    Points
    61
    Par défaut
    MERCI BEAUCOUP ARKHAM!!!!

    Après une heure de test dans tous les sens je viens de comprendre et cela fonctionne parfaitement.

    J'explique un peu pour ceux qui suivront:

    1- Suivre les indications du premier lien d'Arkham: Télécharger la dll,l'installer en suivant l'une des procédures et copier les lignes de code dans votre formulaire et dans votre sous formulaire.
    2- Copier les lignes de code du second lien d'Arkham et les coller dans le sous formulaire. Attentionn ne pas oublier de supprimer une parti du code du premier collage dans le sous formulaire. Celui de l'événement "Private Sub clMouseWHeel_MouseWheel" (erreure stupide que j'ai fais).
    3- Faite rouler la molette à fond les manettes car c'est nikel.

    Un grand coup de chapeau à Arkham

    Amicalement,

    Jocelyn

  12. #12
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    ok c'est cool!

    Je suis désolé mais j'effectue toujours une recherche dans les forums avant de demander quelque chose mais j'aiutilisé les mots clés molette et sous-formulaire et je n'avais pas trouvé topn lie
    Oui mais moi j'ai triché, je connaissais le code, j'ai cherché avec le mot clé WM_MOUSEWHEEL...

    bye

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 175
    Points : 129
    Points
    129
    Par défaut
    Bonjour,

    j'ai un petit souci avec la dll d'Arkham46

    j'ai bien enregistré la dll dans la liste de mes références mais à l'ouverture du formulaire j'obtiens l'erreur 429 : "Un composant ActiveX ne peut pas créer un objet"

    C'est la ligne suivante qui pose problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Set clMouseWHeel = New MouseWheelDVP.cMouseWheel
    (je bosse sous Access97)

  14. #14
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    bjr,

    Est-ce que tu as les droits d'admin sur le PC??
    Essaye d'enregistrer la dll avec démarrer -> exécuter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    regsvr32.exe C:\TonChemin\MouseWheelDVP.dll
    Certains messages d'erreurs ne sont pas affichés lors du référencement dans Access.

  15. #15
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 175
    Points : 129
    Points
    129
    Par défaut
    Merci Arkham. Je n'ai déjà plus de message d'erreur. Par contre je n'arrive toujours pas à capter l'événement MouseWheel. Mon formulaire se charge correctement mais la molette n'a aucun effet...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub clMouseWHeel_MouseWheel(Cancel As Integer, FormScroll As Integer, Delta As Long)
    ' Annule l'action de la roulette
        'Cancel = True
        MonControlActiveX.ActiveWindow.SmallScroll Down:=1
    End Sub

  16. #16
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    clMouseWHeel est-il bien déclaré dans l'en-tête du formulaire, avec withevents?

    est-ce que la procédure évenementielle est exécutée (à vérifier avec un point d'arrêt)?

  17. #17
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 175
    Points : 129
    Points
    129
    Par défaut
    Citation Envoyé par Arkham46 Voir le message
    clMouseWHeel est-il bien déclaré dans l'en-tête du formulaire, avec withevents?
    Oui.

    Citation Envoyé par Arkham46 Voir le message
    est-ce que la procédure évenementielle est exécutée (à vérifier avec un point d'arrêt)?
    Non j'ai placé un point d'arrêt sur la première ligne mais la molette n'a toujours aucun effet...

  18. #18
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 175
    Points : 129
    Points
    129
    Par défaut
    Citation Envoyé par dut-dut Voir le message
    ... la molette n'a toujours aucun effet...
    Je n'arrive toujours pas à déclencher la procédure événementielle...

  19. #19
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 175
    Points : 129
    Points
    129
    Par défaut
    Citation Envoyé par dut-dut Voir le message
    Je n'arrive toujours pas à déclencher la procédure événementielle...
    Est-ce que ça peut venir du fait que je sois sous Access97 ?
    Si on reprend : j'ai ajouté la dll MouseWheel à mes références et le code suivant dans mon formulaire :
    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
    Option Compare Database
    Option Explicit
    Private WithEvents clMouseWHeel As MouseWheelDVP.cMouseWheel
     
    Private Sub Form_Load()
        Set clMouseWHeel = New MouseWheelDVP.cMouseWheel
        Set clMouseWHeel.Form = Me
        DoCmd.Maximize
    End Sub
     
    Private Sub clMouseWHeel_MouseWheel(Cancel As Integer, FormScroll As Integer, Delta As Long)
        Cancel = True
        CtlActiveX17.ActiveWindow.SmallScroll Down:=1
    End Sub
     
    Private Sub Form_Close()
        If Not (clMouseWHeel Is Nothing) Then
            Set clMouseWHeel = Nothing
        End If
    End Sub

  20. #20
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    Bjr,

    Sous 97 ça fonctionne, j'étais sous 97 quand j'ai fait la dll.
    Il faudrait vérifier que le Form_Load est bien exécuté.
    Eventuellement faire un test dans une nouvelle base de données pour vérifier.
    Est-ce que la base de test fonctionne?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 0
    Dernier message: 21/10/2013, 20h42
  2. [AC-2007] comment réactiver la molette de souris sur Access 2007 ?
    Par CIRE3 dans le forum VBA Access
    Réponses: 1
    Dernier message: 01/08/2012, 23h00
  3. Réponses: 1
    Dernier message: 23/05/2008, 20h49
  4. [Débutant] Faire une boite qui s'affiche sur les autres
    Par Destiny dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 21/08/2007, 09h40
  5. Réponses: 3
    Dernier message: 12/02/2006, 14h26

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