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 :

Menu déroulant dans inputbox


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 192
    Par défaut Menu déroulant dans inputbox
    Bonjour à tous,

    J'aimerais créer une liste déroulante dans une inputbox. J'ai trouvé un élément de réponse ici: http://www.developpez.net/forums/sho...light=inputbox mais j'ai du mal à comprendre. Qqn peut-il m'éclaircir S.V.P.?

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    il n'existe pas de possibilité de mettre une liste déroulante dans une inputbox. tu peux juste contrôler la valeur tapée par l'utilisateur et si elle n'est pas bonne renvoyer la inputbox.

    Moi je pencherais plutot par un userform qui contiendrait la listebox et qui se comporterait comme un inputbox

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 192
    Par défaut
    Euhh, ça fait depuis un moment que j'entends parler de ces trucs (les userforms) mais j'y connais strictement rien sur le sujet...kezaco? comment ça marche?

    Alex

  4. #4
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 192
    Par défaut
    Merci pour le lien Jérôme! J'ai compris comment faire pour charger ma liste déroulante, en revanche je capte pas comment faire pour que, une fois l'élément séléctionné, mon code continue de défiler? j'ai malgré tout l'impression de ne pas comprendre grand chose!

  6. #6
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Ci joint un fichier exemple
    la liste a charger dans la combo est dans la feuil2

    Input perso.xls

  7. #7
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 192
    Par défaut
    Merci pour l'exemple Jérôme! Je vois mieux le truc. Je n'ai pas pu tester la userform hier car j'avais quelques soucis en amont du code...
    Maintenant j'ai d'autres questions: je vois que le clic de validation doit être affecté à une feuille et cellule précises, ceci me pose des problèmes car le workbook que j'utilise me sert à ouvrir un à un les fichiers d'un répertoire pour les traiter puis les ramener dans le workbook contenant le code. Mes fichiers sont donc définis en tant que variables, et de plus la feuille que je traite n'a pas tout à fait le même nom d'un fichier à l'autre (je la séléctionne avec like). Enfin le code parcourt toute une colonne pour vérifier le contenu des cellules et les modifier avec la userform si nécessaire. Pour illustrer:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    For lgcount = 10 To DerniereLigne
        If Cells(lgcount, 3).Value <> "Val1" And Cells(lgcount, 3).Value <> "Val2" And _
            Cells(lgcount, 3).Value <> "Val3" And Cells(lgcount, 3).Value <> "Val4" And _
            Cells(lgcount, 3).Value <> "Val5" And Cells(lgcount, 3).Value <> "Val6" And _
            Cells(lgcount, 3).Value <> "Val7" Then
                UserForm1.Show 1
        End If
    Next
    et pour la userform j'ai:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Public Sub CommandButton1_Click()
     
    If ComboBox1.Text <> "" Then
        Windows(fich.Name).ActiveSheet.Cells(lgcount, 3).Value = ComboBox1.Text
     
    End Sub
    Mes questions sont donc:
    1. Est-ce que je peux écrire le code du bouton directement depuis mon module, comme ça le prog sait qu'est-ce que c'est fich et lgcount?
    2. Sinon comment faire pour lier le module avec la userform?
    3. Est-il possible d'affecter une partie variable dans le message de la userform? du genre:
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      "dans le fichier " & fich & " la valeur " & cells(lgcount,3) & " n'est  pas une valeur reconnue, choisissez une valeur parmi la liste proposée:"
      Bref faire les manipulations qu'on peut faire avec les inputbox et les msgbox...


    alex

  8. #8
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 192
    Par défaut
    ok j'ai réussi un peu à avancer sur le code et à faire en sorte que la combobox s'affiche, voilà ce que j'ai fait au niveau de mon code maître:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                ActiveSheet.Cells(lgcount, 5).Activate
                UserForm1.Show
    et niveau de l'userform:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If ComboBox1.Text <> "" Then
        ActiveSheet.ActiveCell.Value = ComboBox1.Value
    End If
    problème: il me dit que la propriété n'est pas gérée par cet objet. Pourtant en interrogeant la fenêtre d'exécution, il reconnaît chacun des éléments...je capte pas là...

  9. #9
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    a quelle ligne l'erreur?

  10. #10
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 192
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.ActiveCell.Value = ComboBox1.Value

  11. #11
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Et en mettant en fixe une cellule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.range("A1").Value = ComboBox1.Value

  12. #12
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 192
    Par défaut
    c'est justement là mon souci: je ne connais pas l'adresse de la cellule en question. C'est pour ça qu'au préalable je l'active ou séléctionne pour que je puisse la récupérer chez la combobox

  13. #13
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    ok, mais est ce que ca fonctionne quand tu mets l'adresse en direct

  14. #14
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 192
    Par défaut
    oui effectivement en mettant l'adresse directe il saisit

  15. #15
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 192
    Par défaut
    c'est bon en fait: en mettant juste:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.Value = ComboBox1.Value
    ça marche! en revanche comment je fais pour que en cliquant sur "valider" la userform se ferme? parce que là il faut que j'appuie sur la croix pour qu'elle dégage et que mon code continue de défiler!

  16. #16
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 192
    Par défaut
    je suis c.. j'avais oublié le unload me!
    1000 merci pour tout Jérôme!

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

Discussions similaires

  1. bouton avec menu déroulant dans la tool bar.
    Par archerhawke dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 27/10/2009, 19h50
  2. Menu déroulant dans Word
    Par k-eisti dans le forum VBA Word
    Réponses: 3
    Dernier message: 22/05/2007, 11h57
  3. Menu déroulant dans un formulaire
    Par basto dans le forum IHM
    Réponses: 1
    Dernier message: 15/03/2007, 15h21
  4. [XSLT][>(X)HTML/JS] Menu déroulant dans XSL
    Par tomy29 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 04/01/2007, 11h17

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