Remplissage automatique d'une combobox en fonction d'une autre combobox

Bonjour à tous,

J'ai réalisé un userform pour la conception de devis automatique (Excell -> Word).

Malgré tout et dans le but de l'optimiser, je désirerais rajouter une fonction.

En effet, il m'est déjà possible de remplir automatiquement les caractéristiques des clients via une base de donné alimentée grâce a ce même userform.

En outre, lorsqu'un client déjà listé dans la bdd me contact pour un devis, je le sélectionne dans le "Combobox_Client" et toute ces infos (adresse, mail, tel etc...) se renseignent automatiquement dans les textbox associés.

Le "souci" est que je peux avoir plusieurs contacts pour le même client, je désireras alors rajouter un combobox supplémentaire (Combobox_Client_Contact) qui se renseignerait en fonction de la sélection dans le Combobox-Client.

Par la suite, se n'est qu'une fois ce "second" Combobox renseigné que les Textbox le seraient.

Je connais une solution avec un tableau où les en-tete seraient les nom de clients et les colonnes les contacts mais malheureusement ma bdd ne se renseigne pas de cette manière et j'ai des centaines de clients déjà inscrits.

Il faudrait que le Combobox_Client_Contact recherche dans la colonne "A" les valeurs correspondant au Combobox_Client et affiche les valeurs de la collone "B" si référent.

Auriez vous la solution svp?

Exemple de tableau excell: Vue supprimée pour cause de données confidentielles

Mon userform:

Bonjour

Sans données confidentielles....

Cordialement

Bonjour et merci pour votre réponse.

Les images en exemple ne sont pas confidentiel, se sont des exemples et ne se base en aucun cas sur des personnages réel.

Merci de m'aider.

capture1 capture

Bonjour

Désolé mais vu les adresses mail notamment, on y aurait cru...

Mettez ce fichier en ligne avec données bidons ce sera plus facile et ce, d'autant que vous avez une usf à compléter et que l'on a besoin des noms d'objets.

Bonjour,

J'ai réussis à faire ce que je souhaitait mais j'ai désormais un nouveau souci.

En effet, auparavant, j'avais des Textbox qui se renseignaient automatiquement après sélection de la Combobox_client.

Désormais (et après avoir ajouté le Combobox_Client_Contact) je n'arrive plus à avoir cet automatisation correct.

Je laisse ci-dessous un fichier TEST, je vous remercie pour votre aide.

Pour ouvrir le formulaire:

Cliquer sur le bouton "programmation", le mdp est "test" (sans les "")

Bonjour

En effet, auparavant, j'avais des Textbox qui se renseignaient automatiquement après sélection de la Combobox_client.

Désormais (et après avoir ajouté le Combobox_Client_Contact) je n'arrive plus à avoir cette automatisation correcte

Là c'est corrigé.

Toutefois j'en ai profité pour modifier pas mal de choses dans votre fichier pour simplifier certains codes :

  • Déplacement des variables (sauf Ws) dans les codes plutot que de les laisser en haut du module
  • Modifications des codes Combobox_agence_Change, Combobox_Client_Change, Userform_initialize

A noter que je n'ai pas modifié la ComboBox_mission_Change pour vous permettre de comparer avec les autres macro type Combo change. Au final on pourrait aussi modifier pour simplifier

J'ai aussi vu qu'à l'ouverture vous cacher l'application excel !! Pour ma part je trouve cela très dangereux et cela m'a d'ailleurs très embêté lorsque j'ai ouvert votre fichier pour comprendre comment aller voir vos codes. Dès que je fermais l'userform par la croix on ne savait même plus qu'excel est ouvert à l'arrière plan....

Par ailleurs :

  • dans le code de Fermeture vous utilisez Application.quit. En d'autres termes vous fermez purement excel. Cela tout de même poser des soucis si d'autres fichiers sont ouverts à l'arrière plan....
  • A l'ouverture du fichier, vous rendez excel invisible... là aussi si vous fermez votre userform par la croix, on ne sait même plus qu'excel est toujours ouvert...

Afin de pouvoir travailler dans votre fichier, j'ai désactivé :

  • Dans l'userform --> CommandButton_fermer_Click, j'ai désactivé Application.quit au profit de Unload.me. Cela fermera l'userform et pas votre fichier. A voir ce que vous voulez faire.
  • Dans thisworkbook --> j'ai désactivé Application.visible.

A votre dispo si besoin

Cordialement

Bonjour Dan et merci pour ton aide.

Tout d'abord, le fichier "Test" est un fichier où j'ai supprimé beaucoup de chose pour obtenir une parfaite confidentialité tout en gardant le principe fondamental du fichier.

J'ai alors supprimer la commande qui efface la "bande bleu", j'ai enlevé la ligne qui ferme tout excel et l'enregistre lors du click sur le bouton "Fermer" etc...

Pour comprendre pourquoi je mets tant de restriction au projet, celui-ci est destiné aux techniciens de l'agence, il faut absolument éviter qu'ils puissent entrer dans le programme pour ne pas modifier involontairement des lignes de commandes.

J'ai regardé tes modifications et malheureusement cela ne fonctionne toujours pas.

En faite, si je choisi le client "A" puis le contact "b", les infos qui se renseignent dans les Textbox sont corrects. Malgré tout, si je sélectionne le client "C" et le contact "k", les infos qui se mettent dans les Textbox sont ceux du Client "A" contact "b".

En l’occurrence, le programme sélectionne la ligne du tableau correspondant au nombre correspondant au contact choisi.

Ex:

_ Client "A" Contact "b" -> 2iem ligne du tableau bdd client (infos correct)

_ Client "C" Contact "k" -> 2iem ligne du tableau bdd client (infos incorrecte et correspondant au Client "A" contact "b")

_ Client "B" Contact "i" -> 4iem ligne du tableau bdd client (infos incorrecte et correspondant au Client "A" contact "d")

Donc ici, se qui est pris en compte est seulement le "nombre" dans la liste combobox_client_contact pour récupérer les infos.

J’espère que cela est compréhensible.

Re,

Ah oui, désolé

Essayez avec le fichier joint :

Cordialement

Bonjour, ça fonctionne parfaitement.

Merci énormément pour votre aide.

Bonjour

Si votre demande sur ce fil est terminée, pouvez-vous confirmer en cloturant le fil --> Click sur le petit v en haut à droite de votre post.

Cordialement

Rechercher des sujets similaires à "remplissage automatique combobox fonction"