Liste déroulante

Bonjour,

Je dois insérer une liste déroulante (ça c'est pas compliqué pour moi , je sais faire.... ) dans un tableau que je suis en train de créer à des fins statistiques. Je suis tenue de prendre les données dans une page différente du même classeur.

Sur la feuille de données, dans la colonne M se trouve les noms des collectivités , dans la colonne N il y a l’abréviation de ces collectivités qui doit être insérée.

Je souhaiterai mettre dans le menu déroulant, les abréviations et leur équivalent texte , mais je veux afficher dans ma cellule que l’abréviation . .

ex: il faut que dans les cellules de ma colonne, il apparaisse par exemple "A1"mais dans le menu déroulant il y est "A1, Préfecture Social".

Pouvez vous m'aider à trouver une solution à mon problème..... si vous avez réussi a comprendre ce que je veux faire....

Merci beaucoup

Bonjour,

Pour rendre ta question tangible ... ET pour obtenir une réponse concrète ( plus utile ... qu'un commentaire abstrait ... )

Le plus simple est de joindre un fichier test ...

7classeur11.xlsx (20.97 Ko)

Esperons que ça soit plus clair

Merci encore

Re,

Merci pour ton fichier test ...

Dans ta feuille ' Matrice ' ... je constate dans ta Colonne A que tu utilises les codes situés dans la Colonne C de l'onglet qui contient toutes tes Listes ...

Or, dans ton premier message ... tu parles de Colonne M et N ...

Du coup ... pas sûr de bien comprendre ...

Dans ta feuille ' Matrice ' ... dans quelle Colonne veux-tu cette Liste Déroulante Dynamique ...???

et quelles sont les deux Colonnes de référence dans l'onglet ' Listes ' ???

Je suis obligé de me servir de l'onglet liste et dans la version définitive elle n'est pas modifiable, celle la est la copie conforme à celle qui est gérée par l'administrateur réseau. Je me sers d'une copie pour faire mes essais. Les intitulés des colonnes de l'onglet "matrice" correspondent aux différentes listes de l'onglet "liste".

je vais faire comme le Titanic.....

Re,

J'aime bien ... ton équipement de plongée ...

Mais ... peux-tu ... précisément ... répondre aux questions posées dans le message précédent ...?

C’était un exemple....

Dans la réalité réelle je voudrais que le menu déroulant soit dans l'onglet MATRICE , colonne G "contingent ".

Pour la liste à afficher c'est dans l'onglet Feuill2 colonne G et H.....en fait il faut que s'affiche la colonne H avec les explications de la colonne G mais que ces explications n'apparaissent qu'au moment du choix

youpi

GENIAL ... !!!

Merci pour ta clarification ... et tes explications ...limpides ...

Enfin ... nous sommes sur la Ligne de Départ ...

James 007...Killer de problèmes informatiques

Re,

Ci-joint ton fichier test ...

Fais plusieurs saisies dans la Colonne G de l'onglet ' Matrice ' ...

et dis-moi si cela répond à ton attente ... ( oupas oupas ...)

9test-nanou13.xlsm (28.71 Ko)

heu.... nan nan désolée...il faut juste qu’apparaisse les A1, A2......tout seul.... mais dans le menu déroulant il faut qu’il apparaisse A1 préfecture social, A2 préfecture fonctionnaire, etc....le plus compliqué de l'histoire c'est de dire à l’utilisateur ce à quoi correspond les A1, A2, etc.....

Apres avoir utilisé toutes mes ressources informatiques et neuronales, mon cerveau ressemble au vide intersidéral...... je cale...

Re,

Désolé ... je ne comprends pas du tout ton commentaire ...

Si tu places en G5 dans la feuille ' Matrice ' ... et que tu fais un clic sur la flèche de validation ...

1. Que vois-tu apparaitre dans la liste déroulante ???

2. Si... ensuite... tu fais un clic sur un des choix ... Que se passe-t-il ...???

Bonjour le fil, bonjour le forum,

Je ne vois vraiment pas comment faire cela sans passer par du VBA... Au secours les formulistes...

Aussi je te propose :

  • Sélectionner toutes les cellules de la colonne G de l'onglet Matrice (de la ligne 2 à la ligne 19)
  • Leur appliquer une liste de validation de données (Source : =Feuil2!$G$2:$G$15)
  • La macro événementielle Change ci-dessous (à placer dans le code de l'onglet Matrice) fera le reste :
Private Sub Worksheet_Change(ByVal Target As Range) 'au changement dans l'onglet
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)

'si le changement a lieu ailleurs que dans la colonne 7 ou dans la ligne 1, sort de la procédure
If Target.Column <> 7 Or Target.Row = 1 Then Exit Sub
If Target.Count > 1 Then Exit Sub 'si la selection contient plus d'une seule cellule, sort de la procédure
Set O = Worksheets("Feuil2") 'définit l'onglet O
TV = O.Range("G1").CurrentRegion 'définit le tableau TV
For I = 2 To UBound(TV, 1) 'boucle sur toutes les lignes I du tableau des valeurs TV (en partant de la seconde)
    If TV(I, 1) = Target.Value Then 'si la donnée ligne I colonne 1 de TV est égale à la valeur de la cellule modifiée
        Application.EnableEvents = False 'interdit l'exécution des macro événementielles (pour ne pas boucler sans cesse)
        Target.Value = TV(I, 2) 'change la cellule modifié et lui donne la valeur de la donnée ligne I colonne 2 de TV
        Application.EnableEvents = True 'autorise l'exécution des macro événementielles (obligatoire !)
        Exit Sub 'sort de la procédure
    End If 'fin de la condition
Next I 'prochaine ligne de la boucle
End Sub

Mais, à utiliser du VBA on pourrait tout aussi bien créer une UserForm qui serait bien plus visible !... Dis-nous si ça t'intéresse.

quand je suis sur G5 je choisis par exemple le premier "PREFECTURE SOCIAL A1".

Dans la cellule apparaît "PREFECTURE SOCIAL A1", et il faudrait le A1 uniquement...... je suis désolée d'etre aussi tordue

Re,

À qui t'adresses-tu ?!...

je réponds à James 007.......mais sur le fait que je sois tordue.... tous le monde devrait le savoir.....

quand je suis sur G5 je choisis par exemple le premier "PREFECTURE SOCIAL A1".

Dans la cellule apparaît "PREFECTURE SOCIAL A1", et il faudrait le A1 uniquement...... je suis désolée d'etre aussi tordue

Re,

Tu n'es pas tordue ...!!!

Je viens de comprendre que ... tout simplement ... tu n'as pas activé les macros ...

Nanou ... Pour activer les macros ... une explication très claire :

https://www.excel-pratique.com/fr/astuces_vba/activer_les_macros.php

Salut Thauthème ...

Dans le fichier test de Nanou ... une macro ... ( un peu plus condensée que la tienne )

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("G5:G19")) Is Nothing Then Exit Sub
Application.EnableEvents = False
Target = Right(Target, 2)
Application.EnableEvents = True
End Sub

Mais bon ... les macros ne sont pas activées ...

Cà ne risque pas de marcher ...

Hé zut j'avais pas fait attention....... les mises à jours se sont faites cette nuit..... maintenant ça marche!!!!!!!

Oh James tu es le meilleur .....tu es vraiment THE killer de problèmes informatiques , houra pour le pourfendeur de macro

Merci pour l'aide que vous m'avez apporté

A bientôt pour d'autres épisodes.....oupa-oupa-oupa

Ravi ...( et Soulagé ..) que tout fonctionne ..

MERCI pour tes très CHALEUREUX Remerciements ...

Rechercher des sujets similaires à "liste deroulante"