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 :

Mon premier userform [XL-365]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2017
    Messages
    1 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2017
    Messages : 1 291
    Par défaut Mon premier userform
    Bonjour

    je me suis décidé à regarder les Userform

    Avec les docs j'ai créé mon userform, un bouton qui active

    Enfin le code du Userform
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Option Explicit
    Private Sub userform_Click()
    MsgBox "A"
    End Sub
    Je passe bien par le MSGBOX en cliquant sur le Userform affiché

    Maintenant lors de l'affichage du Userform il y a une zone de texte avec une liste déroulante

    C'est ok, la liste est bien visible

    Mais je n'arrive pas à comprendre comment récupérer dans la macro la réponse de l'utilisateur (la sélection dans la liste déroulante)

  2. #2
    Expert confirmé Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 288
    Par défaut
    Salut
    Un truc comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Msgbox Me.Combobox1.Value

  3. #3
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Attention que la valeur renvoyée par la propriété Value d'un ComboBox comme d'un ListBox dépend de la propriété BoundColumn, qui par défaut est à 1, du même contrôle

    Il y a plusieurs propriétés qui permettent de récupérer l'élément sélectionner
    • Value qui renvoie la Xème colonne, partant de la gauche, où X dépend de la propriété BoundColumn du même contrôle. Cette dernière étant égal à 1 par défaut
    • List(Ligne, Colonne) où ligne est la position de la ligne dans la liste et colonne sa position dans la liste (sachant qu'il commence à 0 comme ListIndex)
    • ListIndex qui renvoie le n° de la ligne sélectionnée sachant que la première ligne est 0. C'est cette propriété que je privilégie si ma liste est alimentée par une table car elle permet d'aller chercher une information dans la table même si cet élément n'est pas affiché dans la liste.


    Petit exemple avec un ListBox (ces propriétés sont identiques pour un Combobox) où la propriété ColumnBound est égal à 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub ListBox1_Click()
      Dim t As String
      With Me.ListBox1 
       t = t & "Value : " & .Value
       t = t & vbCrLf & "Cellule du range  : " & oRange(.ListIndex, 1)
       t = t & vbCrLf & "ListIndex : " & .ListIndex
       t = t & vbCrLf & "List(Index, Colonne) : " & .List(.ListIndex, 3)
       MsgBox t
      End With
    End Sub
    Illustration
    On peut voir que
    • Value renvoie la deuxième colonne de la liste du fait que ColumnBound est égal à 2
    • ListIndex permet en l'utilisant d'afficher directement un élément de la table.



    Nom : 230114 dvp UserForm - ListBox.png
Affichages : 98
Taille : 38,4 Ko
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  4. #4
    Membre éprouvé
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2017
    Messages
    1 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2017
    Messages : 1 291
    Par défaut
    Merci

    ça mérite d'y passer un peu de temps...

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

Discussions similaires

  1. [JSF] mon premier JSF:Cannot find FacesContext
    Par anitshka dans le forum JSF
    Réponses: 15
    Dernier message: 24/08/2007, 18h19
  2. [Débutant] Mon premier programme: rien ne va...
    Par vincent0 dans le forum OpenGL
    Réponses: 10
    Dernier message: 02/08/2005, 13h59
  3. [JSF] mon premier custom component
    Par anitshka dans le forum JSF
    Réponses: 5
    Dernier message: 14/06/2005, 13h31
  4. [debutant]Mon premier prog OpenGL
    Par Revan777 dans le forum OpenGL
    Réponses: 5
    Dernier message: 04/04/2005, 17h40

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