Validation : Liste de sélection

  • Initiateur de la discussion Initiateur de la discussion alb05
  • Date de début Date de début

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 !

alb05

XLDnaute Occasionnel
Bonjour,
Dans une cellule de validation, est ce possible d'avoir une liste avec plusieurs colonnes ?
Liste dont les enregistrements doivent s'afficher à partir du début du code saisie.

Dans mon exemple, j'ai un tables des codes postaux avec le nom des villes....

Lorsque que je recherche une ville par son code postal, je voudrai que la liste débute à partir du début de code saisie :
Exemple : Si je commence à saisir le CP 60; je veux que la liste commence son affichage (trié) par les Codes >= à 60xxxx.

Le 2ème besoin est que dans cette liste, doivent apparaitre en plus des CP, le nom de la ville, département et région de ce CP.

J'espère avoir été clair.
Merci
 

Pièces jointes

Re : Validation : Liste de sélection

Merci pour ta réponse.

Point 1 :
Pb; lorsque je saisi 06 , la liste débute à 60. La formule tronque le 0.

Point 2 :
Est il possible de visualiser dans cette liste, les autres champs (ville, département et régions) ?
 
Re : Validation : Liste de sélection

Voir PJ

=DECALER(CP;EQUIV(TEXTE(B2;"00")&"*";CP;0)-1;;NB.SI(CP;TEXTE(B2;"00")&"*"))

Données/Validation

JB
 

Pièces jointes

Dernière édition:
Re : Validation : Liste de sélection

La liste de sélection obtenue est :
60000
Beauvais
60100
Compiègne
Idem qu'avec les infos du lien de BOISGONTIER.

La présentation souhaitée est :
60000 ! Beauvais ! Oise
60100 ! Compiègne ! Oise
mais que le champ de retour soit uniquement le CP.
 
Dernière édition:
Re : Validation : Liste de sélection

Voir PJ

=SI(B2="";CPVILLE;DECALER(CPVILLE;EQUIV(TEXTE(B2;"00")&"*";CPVILLE;0)-1;;NB.SI(CPVILLE;TEXTE(B2;"00")&"*")))

Code:
P
rivate Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$B$2" And Target.Count = 1 Then
      On Error Resume Next
      Application.EnableEvents = False
      Target.Value = Left(Target, 5)
      Application.EnableEvents = True
    End If
End Sub


JB
 

Pièces jointes

Dernière édition:
Re : Validation : Liste de sélection

la fonction utilisée EQUIV(TEXTE(B2;" 00")&"*" nous contraint à saisir les 2 premiers caractères.
Y a t'il une optimisation possible pour ne pas avoir cette limite et pouvoir saisir de 1 au 5 caractères du code postal ?

merci
 
- 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

Réponses
12
Affichages
1 K
Retour