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

IHM Discussion :

développer une liste déroulante au survol avec la souris


Sujet :

IHM

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 43
    Points : 18
    Points
    18
    Par défaut développer une liste déroulante au survol avec la souris
    Bonjour à toutes et tous,

    je voudrais que lorsque je survol ma liste déroulante avec la souris, elle puisse se dérouler automatiquement...
    est-ce possible?
    merci à vous

    raphael

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Encore cette excellente FAQ que comporte DVP (lien en bas de cette page).

    On y trouve : Comment dérouler une liste déroulante sur le survol de la souris ?

    Philippe

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 43
    Points : 18
    Points
    18
    Par défaut
    salut,
    Grand merci pour ton aide.
    Je teste cela dès demain
    Raphael

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 43
    Points : 18
    Points
    18
    Par défaut
    Bonjour,

    malheureusement je n'arrive pas a placer le bout de code.
    Le premier référencé doit être mis sur souris déplacée relaché ou appuyée??

    et le second bug sur cmdTest

    merci pour vos infos

    raphael

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Peux-tu nous mettre le code que tu as mis (sans oublié d'utiliser les balises, voir ma signature).

    Philippe

  6. #6
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    Comme te l'indique le nom de la procédure : sur souris déplacé de la liste déroulante.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub cboLaliste_MouseMove
    et le second bug sur cmdTest
    cmdTest est en fait un controle du formulaire car comme l'indique la

    Ensuite sur l'évènement MouseMove de la zone détail de ton formulaire tu mets le focus sur un autre contrôle
    Tu mets donc un SetFocus sur un de tes contrôles

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 43
    Points : 18
    Points
    18
    Par défaut
    voilà mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Détail_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
        Me.cmdTest.SetFocus
     
    End Sub
     
    Private Sub ESC_HANCHE_D_DEGRE_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
        With Me.ESC_HANCHE_D_DEGRE
            .SetFocus
            .Dropdown
        End With
     
    End Sub
    et voilà l'erreur indiquée:
    erreur de compilation: membre de méthode ou de donnée introuvable.

    Merci pour votre aide

    raphael

  8. #8
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonjour,

    Procède par étape. Première:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub cbo_NomDeTaListe_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
        With Me.cbo_NomDeTaListe
            .SetFocus
            .Dropdown
        End With
    End Sub
    Ici --> cbo_NomDeTaListe doit être remplacé par le nom de ta liste.
    Et lorsque ça fonctionne, voir suivant.

    Cordialement.

  9. #9
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 43
    Points : 18
    Points
    18
    Par défaut
    salut
    merci pour ta réponse.

    ce code fonctionne mais lorsque le menu est déroulé, tout clignote comme si elle se déroulait en boucle.
    et les valeurs de la liste n'ont pas le temps de s'afficher. Cependant quand on clique, la valeur est bien sélectionnée.
    Merci pour ton aide

    raphael

  10. #10
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 905
    Points
    55 905
    Billets dans le blog
    131
    Par défaut
    Le code fonctionne bien chez moi.

    Pourrais-tu donner celui qui pose problème?

  11. #11
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 43
    Points : 18
    Points
    18
    Par défaut
    Salut,
    La première partie avec Access bloque dessus...
    Merci a toi
    Raphael

  12. #12
    Invité
    Invité(e)
    Par défaut
    Bonjour

    cmdTest est le nom d'un bouton de commande sur lequel on met le focus, il va de soit qu'il faut adapter le code, soit un nom d'un de tes boutons de commandes, soit tu en crées un avec le même nom.

    Les codes que l'on trouve dans les FAQs est générique, il va de soit qu'il faut les adapter à chaque cas (nom de contrôles, etc.)

    Philippe

  13. #13
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 43
    Points : 18
    Points
    18
    Par défaut
    Merci de ta précisions mais je ne comprend pas a quoi sert cette commande...
    Merci pour toutes tes infos mais il reste le problème que j'expliquais plus haut avec le bouclage..??
    En fait quand je passe avec ma souris sur ma liste déroulante il se passe un drôle de truc comme si la liste se deroulait et sz fermait rapidement en continu comme si il y avait une boucle très rapide mais qui ne laisse pas la fenêtre afficher le contenu de ma liste... As tu déjà eu ce cas?
    merci

  14. #14
    Invité
    Invité(e)
    Par défaut
    Re

    Je ne comprends vraiment pas ton problème, ce code a été crée sous Access 2002, je viens de le tester sur Access 2007, et aucun soucis.

    Tu es sur Access 2003, je ne l'ai pas sur mes postes, mais je l'avais utilisé dans un de mes poste, est-ce que tu as le dernier SP (le SP3) à jour ?

    Philippe

  15. #15
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 43
    Points : 18
    Points
    18
    Par défaut
    salut
    je suis sur 2007 mais avec un programme commencé sur access 2003 je le testerai sur un 2003 demain.
    Merci pour tes infos
    je te dis quoi...
    Raphael

  16. #16
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 43
    Points : 18
    Points
    18
    Par défaut
    bonjour,

    voilà testé sur access 2003 et j'ai le meme probleme, la liste se déroule mais pas possibilité de cliquer sur l'élément choisi dans la liste déroulante.

    que dois je faire avec le reste du code proposé dans le tuto.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Détail_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
        Me.cmdTest.SetFocus
     
    End Sub
    je ne sais pas par quoi remplacer le cmdTest....

    merci à vous et bonne soirée

    Raphael

  17. #17
    Expert éminent sénior
    Avatar de Domi2
    Homme Profil pro
    Gestionnaire
    Inscrit en
    Juin 2006
    Messages
    7 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Suisse

    Informations professionnelles :
    Activité : Gestionnaire
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 194
    Points : 16 044
    Points
    16 044
    Par défaut
    Bonjour,

    Je n'ai pas essayé le code, mais ce que code fait, c'est donner le focus à un bouton appelé cmdTest lorsque la souris est déplacée sur la section "détail" du formulaire.

    Il te faut donc choisir un contrôle dans le détail de ton formulaire (bouton ou autre), vérifier son nom et faire de même en adaptant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Détail_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
     
        Me.LeNomDuControleAuquelTuVeuxDonnerLeFocus.SetFocus
     
    End Sub
    Domi2

  18. #18
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2006
    Messages
    1 350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonjour,

    Cet effet visuel désagréable est perceptible si les propriétés sont visibles.

    Plutôt que de passer le focus ailleurs par le truchement de la zone de détail j’opte pour un rectangle (boîte)—> shp_Retracte débordant d’un à deux cm environ cette liste.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub shp_Retracte_MouseMove(Button As Integer, _
    Shift As Integer, X As Single, Y As Single)
     SendKeys "{ESC}"
    End Sub
    On peut aussi, (dans le cadre des fantaisies) en cas d’affichage —>Formulaire unique :

    Dans un module :

    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
    Global Const bleu = 8388608
    Global Const noir = 0
    Global Const rouge = 255
    Global Const blanc = 16777215
    Global Const jauneclair = 8454143
    Sub OnEntre()
        On Error Resume Next
        If Screen.ActiveForm.ActiveControl.Properties("ForeColor").Value = noir Then
            Screen.ActiveForm.ActiveControl.Properties("ForeColor").Value = rouge
            'Screen.ActiveForm.ActiveControl.Properties("FontWeight").Value = 800
            'Screen.ActiveForm.ActiveControl.Properties("FontBold").Value = 1
        End If
        Screen.ActiveForm.ActiveControl.Properties("backcolor").Value = jauneclair
        Screen.ActiveForm.ActiveControl.Dropdown
    End Sub
     
    Sub OnSort()
        On Error Resume Next
        Screen.ActiveForm.ActiveControl.Properties("backcolor").Value = blanc
        Screen.ActiveForm.ActiveControl.Properties("forecolor").Value = noir
        'Screen.ActiveForm.ActiveControl.Properties("FontWeight").Value = 400
        'Screen.ActiveForm.ActiveControl.Properties("FontBold").Value = 0
    End Sub
    Et pour les listes et champs du 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
    Private Sub TaListe_Enter()
    OnEntre
    End Sub
     
    Private Sub TaListe_Exit(Cancel As Integer)
    OnSort
    End Sub
     
    Private Sub TonChamp_Enter()
      OnEntre
    End Sub
     
    Private Sub TonChamp_Exit(Cancel As Integer)
     OnSort
    End Sub
    Cordialement.

  19. #19
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 43
    Points : 18
    Points
    18
    Par défaut
    merci pour l'intérêt porté je regarde et encore merci
    Raphael

Discussions similaires

  1. Réponses: 4
    Dernier message: 01/11/2008, 09h41
  2. Réponses: 6
    Dernier message: 18/12/2007, 08h28
  3. Problèmes avec des cases à cocher et une liste déroulante
    Par rob2-9 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 25/01/2006, 10h52
  4. Remplir 3 champs textes différents avec une liste déroulante
    Par azorol dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/12/2005, 00h04
  5. Réponses: 5
    Dernier message: 13/10/2005, 10h19

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