Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/11/2011, 11h03   #1
Candidat au titre de Membre du Club
 
Homme
Étudiant
Inscription : septembre 2011
Messages : 20
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Associations - ONG

Informations forums :
Inscription : septembre 2011
Messages : 20
Points : 14
Points : 14
Par défaut Liste déroulante - Sélection puis affichage d'une autre donnée

Bonjour le forum,

Je souterais faire une liste déroulante qui m'affiche différents choix, mais que ce soit une autre donnée qui s'affiche dans ma cellule à la place de mon premier choix.
Je m'explique: je travaille avec des compagnies aériennes qui ont un code et un nom. J'aimerais choisir le nom dans ma liste déroulante, mais que ce soit le code qui s'affiche. Exemple: choix de "Air France" dans la liste, puis affichage de "AF" dans la cellule.

Est-ce que c'est possible? Si oui, par quel moyen on doit passer?

Merci par avance de vos réponses.
matbiz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 12h05   #2
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Bonjour,

Tu peux afficher le résultat voulu dans une cellule voisine en utilisant RECHERCHEV.
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 13h44   #3
Candidat au titre de Membre du Club
 
Homme
Étudiant
Inscription : septembre 2011
Messages : 20
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Associations - ONG

Informations forums :
Inscription : septembre 2011
Messages : 20
Points : 14
Points : 14
Bonjour Daniel.C,

Merci pour ta réponse, je comptais utiliser cette méthode si je n'arrive pas à faire ce que je veux.

Si quelqu'un à une autre solution, je suis preneur
matbiz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 14h59   #4
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Avec une macro, tu peux le faire. Le code suivant est écrit popur une liste de validation en D2 dont les données sont en colonne A (de A1 à A20); les données correspondantes à afficher sont en colonne B. Colle le code suuivant dans le module de la feuille :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Var As Variant
If Target.Address = "$D$2" Then
    Application.EnableEvents = False
    Var = Application.VLookup([D2].Value, [A:B], 2, 0)
    With [D2].Validation
        .Delete
        .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
        :=xlBetween
        .IgnoreBlank = True
        .InCellDropdown = True
        .ShowInput = True
        .ShowError = True
    End With
    [D2] = Var
    With [D2].Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=$A$1:$A$20"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
 
    Application.EnableEvents = True
End If
End Sub
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/11/2011, 15h11   #5
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Ou, beaucoup simplement :

Code :
1
2
3
4
5
6
Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    [B1].Offset(Application.Match([D2].Value, [A:A], 0) - 1).Copy
    [D2].PasteSpecial xlPasteValues
    Application.EnableEvents = True
End Sub
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/11/2011, 12h33   #6
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Bonjour,

Peux-tu donner un retour sur la solution que je t'ai proposée ou sur une autre que tu aurais adoptée ?
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h59.


 
 
 
 
Partenaires

Hébergement Web