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 :

Lien entre 2 combobox et résultat dans une textbox


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 7
    Par défaut Lien entre 2 combobox et résultat dans une textbox
    Bonjour à tous,

    Je suis un novice en code VBA et pour améliorer un classeur excel je voudrais "simplifier" la saisie de certaine infos, prédéfinies dans une une autre feuille de ce même classeur.

    J'ai créer un userbox avec 2 combobox et une listbox.
    Dans le premier combobox je voudrai mettre les infos de la 1ère colonne et en fonction de cette infos, mettre dans la 2ème combobox des infos qui lui corresponde que j'ai répartit dans d'autre colonnes et enfin dans la listbox la synthèse des 2 combo avec un espace entre les deux mots.

    Je vous joint l'ébauche de mon projet.
    Merci d'avance.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Salut,

    Vu l'extension du fichier joint, je crains qu'il n'y a pas l'ébauche du code VBA dont tu parles.

    De plus, beaucoup, ne télécharge pas les fichiers, copie donc ton code dans le post, tu auras plus de chance d'avoir une réponse

    A+

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 7
    Par défaut
    j'ai converti le fichier mais celui d'origine est en .xlsm.
    voici le code:

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    Private Sub CmdOK_Click()
    ActiveCell = Me.TextLibellés.Value
     
    End Sub
     
    Private Sub CmdQuitter_Click()
    Unload Libellés
     
     
    End Sub
     
    Private Sub Type_Change()
     
    End Sub
     
    Private Sub ListBox1_Click()
     
    End Sub
     
    Private Sub Désignation_Change()
     
    End Sub
     
    Private Sub Label1_Click()
     
    End Sub
     
    Private Sub Label2_Click()
     
    End Sub
     
    Private Sub TextLibellés_Change()
     
    End Sub
     
    Private Sub UserForm_Click()
     
     
    End Sub
    combo1 type, combo 2 désignation

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 105
    Par défaut
    Bonjour,

    J'ai vu ton fichier, mais je n'ai pas compris tes explications

    Dans le premier combobox je voudrai mettre les infos de la 1ère colonne
    sa sa m'a l'air ok mais de quelle feuille? "Suivi compte" ou "Liste Imputation"?

    et en fonction de cette infos, mettre dans la 2ème combobox des infos qui lui corresponde que j'ai répartit dans d'autre colonnes
    là je n'ai strictement rien compris

    et enfin dans la listbox la synthèse des 2 combo avec un espace entre les deux mots.
    Donc en gros sa, sa me parait facile, juste une concaténation mais comment se rempli cette listbox? quand on a choisit les deux combobox, on appuie sur un bouton "OK"? ou alors pas besoin de choisir et on fait une jointure cartésienne? (bon je pousse un peu loin, j'avoue)

    Merci de détailler éxéctement ce que tu souhaites, je te dirais comment t'en passer comment t'y prendre

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 7
    Par défaut
    pour la première combo c'est la première colonne de liste imputation et en fonction des colonnes correspondantes qui sont créer.
    pour la listbox automatiquement c'est possible sinon je rajoute un ok.
    merci de t’intéressé à mon problème.

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 105
    Par défaut
    Voilà ce que je te pond si tu as tes contrôles sur "Liste Imputation"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub ComboBox1_Change()
    ComboBox2.Clear
    ComboBox2.AddItem (WorksheetFunction.VLookup(ComboBox1.Value, Range("A1:F50"), 2, False))
    ComboBox2.AddItem (WorksheetFunction.VLookup(ComboBox1.Value, Range("A1:F50"), 3, False))
    ComboBox2.AddItem (WorksheetFunction.VLookup(ComboBox1.Value, Range("A1:F50"), 4, False))
    ComboBox2.AddItem (WorksheetFunction.VLookup(ComboBox1.Value, Range("A1:F50"), 5, False))
    ComboBox2.AddItem (WorksheetFunction.VLookup(ComboBox1.Value, Range("A1:F50"), 6, False))
    End Sub
     
    Private Sub ComboBox2_Change()
    If ComboBox2.Value <> "" Then ListBox1.AddItem (ComboBox1.Value & " " & ComboBox2.Value)
    End Sub
    (Bien évidemment, dans mon cas tu as ComboBox1, ComboBox2 et ListBox1)
    à toi de l'adapter à ta solution

    dit moi si sa te convient

    PS: j'ai lié la première combobox à ta première colonne avec la propriété "ListFillRange" (j'ai mis A2:A10)

  7. #7
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 7
    Par défaut
    Merci mais ça ne fonctionne pas j'ai remplacer les mot qui correspondent à mon projet mais rien du tout.
    A quel endroit je doit préciser le nom de la feuil liste imputation?

  8. #8
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 105
    Par défaut
    oulà, je te fait sa:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub ComboBox1_Change()
    ComboBox2.Clear
    ComboBox2.AddItem (WorksheetFunction.VLookup(ComboBox1.Value, sheets("Liste Imputation").Range("A1:F50"), 2, False))
    ComboBox2.AddItem (WorksheetFunction.VLookup(ComboBox1.Value, sheets("Liste Imputation").Range("A1:F50"), 3, False))
    ComboBox2.AddItem (WorksheetFunction.VLookup(ComboBox1.Value, sheets("Liste Imputation").Range("A1:F50"), 4, False))
    ComboBox2.AddItem (WorksheetFunction.VLookup(ComboBox1.Value, sheets("Liste Imputation").Range("A1:F50"), 5, False))
    ComboBox2.AddItem (WorksheetFunction.VLookup(ComboBox1.Value, sheets("Liste Imputation").Range("A1:F50"), 6, False))
    End Sub
     
    Private Sub ComboBox2_Change()
    If ComboBox2.Value <> "" Then ListBox1.AddItem (ComboBox1.Value & " " & ComboBox2.Value)
    End Sub

  9. #9
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 7
    Par défaut
    toujours rien je comprend pas
    sur ma feuil liste imputation je doit faire quelque chose en particulier ou pas

  10. #10
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 105
    Par défaut
    voici un document où sa marche, dit moi ce qui cloche chez toi, précise bien sinon je suis incapable de t'aider.
    Fichiers attachés Fichiers attachés

  11. #11
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 7
    Par défaut
    OK mon problème est que j'avais écris le code dans l'USF est non dans la feuille.
    Je vois que tu as fait correspondre les listes par ligne, moi j'ai fait des colonnes pour tous séparer.
    Peut-on utiliser mon USF avec ce code si je refait ma liste par ligne est non par colonne.
    En validant par OK sur USF je voudrait mettre le résultat dans la cellule que j'aurais sélectionné.

  12. #12
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 105
    Par défaut
    que signifie "USF"?
    sinon il doit être possible de remplacer les lignes par des colonnes et vice-versa, mais si tu peux faire un autre document exemple sa me parlerais plus

  13. #13
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 7
    Par défaut
    Bonjour supierre,
    USF c'est pour userform si tu as une solution avec mon document de départ sa me va aussi. merci d'avance.

  14. #14
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 105
    Par défaut
    Bonjour,

    Je ne manipule presque pas les userforms, mais à priori le code que je t'ais transmis doit être facilement adaptable, à l'exeption prêt qu'il faut gérer le code d'initialisation des deux combobox (et ne pas oublier d'ajouter la feuille de la même façon que ce que je t'ai monté dans un post précédent).

Discussions similaires

  1. Réponses: 12
    Dernier message: 20/05/2015, 18h15
  2. [XL-2007] Afficher résultat dans une TextBox
    Par didier51 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 09/01/2014, 19h18
  3. Réponses: 4
    Dernier message: 28/04/2013, 16h05
  4. Réponses: 4
    Dernier message: 29/09/2010, 16h38
  5. requete avec résultat dans une textbox
    Par programmer_c'est_dur dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 21/09/2007, 22h53

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