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

Macros et VBA Excel Discussion :

Afficher un message lors du passage de la souris sur un element de combobox


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2016
    Messages : 192
    Points : 81
    Points
    81
    Par défaut Afficher un message lors du passage de la souris sur un element de combobox
    Bonjour,

    Je voudrais savoir si il était possible d'afficher un message quand la souris passe sur un élément de Userform.

    Mon but : Quand l'utilisateur saisi un des champs contenus dans le Userform il est une petite explication correspondante au champ en question.

    Merci à vous

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Points : 12 068
    Points
    12 068
    Billets dans le blog
    8
    Par défaut re
    oui et non
    non parce que l'élément n'a pas cela en natif
    oui en jouant avec la position y avec un calcul du font zize mais c'est approximatif sans apis

  3. #3
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 135
    Points : 9 969
    Points
    9 969
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    le titre parle de combobox, l'explication parle de Userform, qu'en est-il ?

    tu as la possibilité de créer des infobulles via la propriété ControlTipText, l'infobulle s'affiche quand le curseur de la souris est sur la zone du contrôle

    Ici le curseur de la souris est sur Label1
    Nom : dvp_94.png
Affichages : 1828
Taille : 3,1 Ko

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2016
    Messages : 192
    Points : 81
    Points
    81
    Par défaut
    MErci joe cependant je connais les coordonnées de ma souris une fois ma combobox ouverte ... Le manipulation est elle toujours possible ? Si oui comment ?

    J'a i trouvé ca mais c'est pas clair du tout


    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
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) As Long
     
    Private Const LB_ITEMFROMPOINT = &H1A9
     
    Private Sub Form_Load()
    Dim indice As Integer
     
        For indice = 1 To 10
            List1.AddItem "Item n° " & indice
        Next
     
    End Sub
     
    Private Sub List1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Dim p As POINTAPI
    Dim indice As Long
     
        ' Récupère la position de la souris
        Call GetCursorPos(p)
     
        Call ScreenToClient(List1.hWnd, p)
     
        ' Récupère l'indice de l'élément survolé (grace à l'envoi de LB_ITEMFROMPOINT via SendMessage)
        indice = SendMessage(List1.hWnd, LB_ITEMFROMPOINT, 0&, ByVal ((p.X And &HFF) Or (&H10000 * (p.Y And &HFF))))
        If indice >= 0 Then
            indice = indice And &HFF
            List1.ToolTipText = "Ceci est l'item n°" & indice
        End If
    End Sub

  5. #5
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 135
    Points : 9 969
    Points
    9 969
    Billets dans le blog
    5
    Par défaut
    Ce qui n'est pas clair, c'est la finalité
    Là tu pars dans des usines à gaz à vouloir manipuler des API alors que tu ne connaissais même pas les TipText.

    C'est gravir l'Everset avec des sandales

    Au pire, passe ta combobox en listbox .... ajoute une colonne qui hébergera l'explication de chaque élément.
    Tu peux même à la limite masquer cette colonne de contexte ... et piocher l'information pour l'afficher dans un TextBox

  6. #6
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2016
    Messages : 192
    Points : 81
    Points
    81
    Par défaut
    JE pense que je vais afficher l'info dans un label merci beaucoup

  7. #7
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 433
    Points
    12 433
    Par défaut
    Bonjour rampage92

    Ton post N° 4 m'inquiète assez car il met en exergue que tu "fouilles" sur la toile pour trouver des solutions sans même savoir si elles s'appliquent ou non à VBA/Excel !
    Le code que tu as ainsi "trouvé" ne s'applique en aucun cas à une listbox (et encore moins à une combobox) de msforms.
    Il concerne uniquement les listboxes et comboboxes de VB6, totalement différentes.

    Pour ton information (et entre autres) :
    - il est possible (si si ..) de déterminer le handle d'une msforms.listbox, mais il n'est pas possible d'agir sur la fenêtre de ce contrôle à l'aide du code que tu as "trouvé"
    - il n'est pas possible de déterminer avec assurance le handle d'une msform.Combobox

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

Discussions similaires

  1. Afficher une image lors de passage de la souris
    Par lx69xl dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 25/12/2011, 23h48
  2. Réponses: 0
    Dernier message: 04/11/2011, 16h18
  3. Effet lors du passage de la souris sur une image
    Par Stefounette dans le forum JavaFX
    Réponses: 6
    Dernier message: 20/04/2010, 10h37
  4. Réponses: 2
    Dernier message: 25/10/2008, 19h23
  5. afficher des resultats lors du passage de la souris sur un point du graphe
    Par speedy_g dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 05/03/2008, 10h44

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