Bonjour Ronan,
désolé pour le très gros retard de ma réponse : manque de disponibilité.
lien fichier : https://www.transfernow.net/dl/20250519r5TSrpnp
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
à l'ouverture du fichier, tu es sur "Feuil1" ; la 2ème feuille s'appelait "Données",
mais c'est trop vague ! c'est pourquoi j'ai préféré la renommer "Lieux".
sur "Feuil1", la cellule active est C2 ; note que C2 et D2 sont vides.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1) en C2, saisis 999 ➯ en C2 : 00999 ; en D2 : "?" ; c'est pour indiquer
que le code 00999 n'a pas été trouvé dans la liste de la feuille "Lieux".
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2) en C2, appuie sur la touche Suppression ➯ C2 et D2 sont vides,
comme c'était au départ.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
3) en C2, saisis 1090 ➯ en C2 : 01090, et ça affiche une boîte de dialogue
avec la liste des communes correspondant au code postal 01090.
c'est une liste de 6 communes 01) à 06) ; lis les villes ; quand tu trouves celle
qu'il te faut, saisis le nombre correspondant, sans la parenthèse, le 0 gauche
est facultatif (il est présent juste pour un alignement correct, quand y'a plus
de 9 villes).
exemple : si tu veux LURCY, saisis simplement 4 et valide avec la touche
Entrée ➯ en D2 : LURCY ; supposons que finalement tu voulais mettre
une autre ville ; toujours en C2, appuie sur F2 puis Entrée ➯ ça simule
une resaisie de 1090 ➯ ça réaffiche la liste de communes.
saisis 1 puis valide avec Entrée ➯ en D2 : FRANCHELEINS.
fais F2 puis Entrée ; appuie aussitôt sur la touche Echap ➯ ça referme
la boîte de dialogue ; c'est pratique si tu t'étais trompé de code postal
et que tu n'as pas besoin de choisir une commune de la liste.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
4) en C2, saisis 1300 ➯ en C2 : 01300, et ça affiche une boîte de dialogue
avec la liste des communes correspondant au code postal 01300.
c'est une liste de 22 communes 01) à 22) ; et tu peux voir que pour les
9 premières communes, c'est là où le 0 gauche est nécessaire pour
un alignement correct des nombres 01 à 22.
saisis par exemple 19 puis appuie sur Entrée ➯ en D2 : PEYRIEU.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
alors, c'est mieux qu'une liste déroulante dynamique, non ? il n'y a pas besoin
de faire défiler verticalement les items de la liste ; il suffit de regarder la liste
et de saisir le bon numéro. :)
cerise sur le gâteau : tu t'apercevras peut-être avec d'autres données que
s'il n'y a qu'une seule commune pour un code postal donné, il n'y aura même
pas d'affichage d'une liste : comme y'a qu'une seule possibilité, la commune
unique s'affichera automatiquement en D2.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
fais Alt F11 pour voir le code VBA ; puis de nouveau Alt F11 pour retourner
sur Excel ; si tu as besoin d'une adaptation, tu peux demander. :)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
est-ce que ma solution te convient ? mais si vraiment tu préfères quand même
une liste déroulante dynamique (ce qui est ton droit) : je laisse à un autre
contributeur le soin de le faire, car je préfère ma solution, et en faire une avec
liste déroulante dynamique ne m'attire pas du tout. ;)
rhodo