Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Combobox sans doublon et avec auto complétion et liée à une autre combobox

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

CortoXls

XLDnaute Junior
Bonjour
Sur le fichier en PJ sur la feuille de saisie il y a deux combobox
une pour le code postal et une pour la ville
Je voudrais que pour le code postal il n'y ait pas de doublons et une auto-complétion pour la ville et le code postal.
Actuellement je suis en office 365 et pour l'auto-complétion pour la ville comme pour le code postal ça fonctionne mais à priori pas avec XL 2021 ou XL2016. Quel paramètre faut-il changer ?

Ensuite mon problème principal est le suivant je ne parviens pas à obtenir le résultat suivant :
1/ Soit je saisis le code postal dans la combobox1 et j'obtiens dans la combobox2 la liste des villes correspondant au code postal
2/ Soit je saisis la ville et le code postal associé s'inscrit automatiquement.--> ça fonctionne dans ce sens à condition que la cellule SaisieCP soit vide.
Pour démarrer mes test j'ai donc mis un bouton RAZ qui vide les deux cellules.

Merci de votre aide pour la suppression des doublons dans le code postal et pour obtenir la liste des villes en fonction du code postal saisi.
 

Pièces jointes

Dernière édition:
Bonsoir,

Regardes si cela correspond à ce que tu veux en fonction de ce que j'ai compris
Bonjour,
Désolé, ça ne fonctionne pas.
Dès que je commence à saisir le code postal la sélection bascule sur la 2ème combobox et le programme plante dans la procédure Private Sub ComboBox2_Change() sur la ligne : Ligne = Sheets("Divers Listes").Range("B:B").Find(Nom, , , xlPart).Row

VB:
Private Sub ComboBox2_Change()

Dim Nom  As String
Dim Ligne As Integer

Nom = Me.ComboBox2.Value
Ligne = Sheets("Divers Listes").Range("B:B").Find(Nom, , , xlPart).Row
    Sheets("Formulaire de saisie").Range("SaisieCB1").Value = Sheets("Divers Listes").Cells(Ligne, 1).Value
Range("SaisieCB2") = Me.ComboBox2

End Sub



Les deux combobox sont paramétrées avec MatchEntry = 1-fmMatchEntryComplete
J'ai essayé en changeant ce paramètre mais ça ne change rien.
J'ai rajouté dans les deux procédures combobox_change la ligne suivante :
Application.EnableEvents = True
Mais aucun changement
Par contre si je choisis le code postal dans la liste déroulante, alors la liste des villes associées est bien dans la 2ème combobox donc la solution est à priori toute proche.
Il faudrait que je puisse saisir le code en entier ...
Finalement je me demande si j'ai besoin d'une combobox pour le code postal...
Peut-être qu'en renseignant le code dans la cellule tout simplement...
Une idée ?
 
Dernière édition:
Finalement je me demande si j'ai besoin d'une combobox pour le code postal...
Bonsoir,
C'est sûr que si tu saisis le code postal au lieu de le sélectionner c'est curieux,
car la procédure change du combo doit être adaptée à cette façon de fonctionner.

Essaies comme ceci cela devrais fonctionner
 

Pièces jointes

Bonsoir,
C'est sûr que si tu saisis le code postal au lieu de le sélectionner c'est curieux,
car la procédure change du combo doit être adaptée à cette façon de fonctionner.

Essaies comme ceci cela devrais fonctionner
Bonsoir,
Oui je saisis le code postal directement car c'est plus rapide !
Je teste ta proposition demain si possible et je te tiens au courant.
Merci de ton aide !
 
Bonsoir.
Info: Avec un objet ComboBoxLiées on ne s'occupe plus du tout des Change des ComboBox qui lui sont confiées.
En revanche il déclenche lui même des évènements plutôt relatifs à la combinaison de l'ensemble des ComboBox prises en charge, notamment pour communiquer le numéro ou la liste des numéros de lignes contenant la combinaison.
 
Bonsoir Dranreb
Un exemple sur le fichier proposé ?
Parce que je ne vois pas trop comment l'appliquer.
 
Voilà. Mais je n'aime vraiment pas l'utiliser dans ce contexte. Au moins un UserForm cesse toujours d'être affiché un en cas de réinitialisation du projet VBA … Mais là je crois que ce n'est même pas utile de prendre en charge les évènements du ComboBoxLiées …
 

Pièces jointes

Je vais donc suivre vos conseils et d'aire un userform !
Il faut que je définisse correctement ce que je veux. Dans l'idée c'est d'avoir trois états
1- création fiche nouvel adhérent (toutes les informations ne sont pas nécessaires ormis le nom prénom et coordonnées)
2 - modification de la fiche ( ce qui peut permettre de compléter la fiche créée précédemment)
3- suppression de la fiche
Je vais peut-être faire un userform multipages pour gérer aussi les profs ainsi que les tarifs et les activités.
Je dois aussi prévoir certaines requêtes comme :
* La liste des élèves par prof.
* Le nombre d'heures et d'élèves par prof.
* La fiche d'inscription avec le coût total.
* Ainsi qu'une fiche récapitulative pour la communauté de communes.
J'ai réussi à faire tout ça avec des formules mais dès que les utilisateurs changent quelque chose...
Donc je voudrai figer tout ça via VBA.
Je viendrai donc régulièrement ici !
 
Je déconseille les Multipage.
Une bonne base de départ, sans liste annexe au départ, serait à mon avis une base association un élève et une activité, donc un prof.
On pourrait ensuite en tirer des récapitulatifs par élève, par prof etc. et éventuellement y ajouter des information supplémentaires par d'autres UserForm … Peut être …
 
Je déconseille les Multipage.
Une bonne base de départ, sans liste annexe au départ, serait une base association un élève et une activité, donc un prof.
Actuellement par un élève il y a 4 activités possibles et plusieurs profs...
* L'élève peut être seul ou faire partie d'une famille.
* Les membres de la famille n'ont pas toujours le même nom.
* Faire partie d'une famille donne une réduction
* Faire 3 activités individuellement donne une réduction
* Faire 3 activités pour la famille donne une réduction
* Faire partie de la communauté de communes aussi.
C'est un beau projet et je préfère essayer de faire ça que de regarder la télévision !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…