Assigner un numéro prédéterminé selon le choix d'une liste

Bonjour,

Mon problème est le suivant :

Je voudrais, lorsque je sélectionne un objet dans une liste déroulante, lui assigner une valeur prédéterminer. Par exemple pour la liste suivante : Rivière, Lac, Ruisseau. Je voudrais que lorsque je sélectionne Ruisseau se soit le chiffre "1" qui apparaisse dans la cellule. Si cela n'est pas possible le chiffre peut-il apparaitre automatiquement dans une cellule adjacente?

Merci à l'avance

Bonjour,

Dans une cellule adjacente, ça pourrait être :

=SI(ESTNUM(EQUIV(A1;{"Rivière";"Lac";"Ruisseau"};0));EQUIV(A1;{"Rivière";"Lac";"Ruisseau"};0);"")

Dans la même cellule, ça demande un recours au VBA, et là, je ne sais pas faire

@+

Bonjour

ou à partir de zone de liste réalisée avec la BO Formulaire

Voir exemple

Cordialement

43classeur1.xls (13.50 Ko)

Je vous remercie grandement de votre aide. Toutefois, Amadéus, dans votre dernier fichier je ne suis pas certain de comprendre comment vous assigner une valeur à la cellule adjancente. Avez-vous de l'information sur ces BO Formulaires (site internet ou lien vers un post sur le forum). Je ne crois pas connaître cela. De plus, mes listes déroulantes sont dans des cellules à l'aide de la validation des données. Je ne maitrise pas vraiment VB.

Merci encore

Bonsoir

Autre méthode avec macro

1 - Tu prépares un tableau avec en 1ère colonne (exemple A) tes noms et 2ème colonne (exemple B) les numéros

2 - Tu nommes les cellules de la colonne A (par exemple : Nom défini :Liste - Fait référence à Feuil2!A2:A5)

3 - Dans "Données ==> Validation - Autoriser "Liste" tu écris =Liste

3 - Macro à placer dans la feuille concernée par la validation (click droit sur le nom de la feuille ==> Visualiser le code)

Private Sub Worksheet_Change(ByVal Target As Range)

'Cellules concernées (plage à adapter)
  If Not Application.Intersect(Target, Range("B14:B100")) Is Nothing Then
    Application.EnableEvents = False
    On Error Resume Next
    Target = Range("Liste").Find(Target).Offset(0, 1).Value
    Application.EnableEvents = True
  End If
End Sub

Amicalement

Nad

Nad a écrit :

Bonsoir

Autre méthode avec macro

1 - Tu prépares un tableau avec en 1ère colonne (exemple A) tes noms et 2ème colonne (exemple B) les numéros

2 - Tu nommes les cellules de la colonne A (par exemple : Nom défini :Liste - Fait référence à Feuil2!A2:A5)

3 - Dans "Données ==> Validation - Autoriser "Liste" tu écris =Liste

3 - Macro à placer dans la feuille concernée par la validation (click droit sur le nom de la feuille ==> Visualiser le code)

Private Sub Worksheet_Change(ByVal Target As Range)

'Cellules concernées (plage à adapter)
If Not Application.Intersect(Target, Range("B14:B100")) Is Nothing Then
Application.EnableEvents = False
On Error Resume Next
Target = Range("Liste").Find(Target).Offset(0, 1).Value
Application.EnableEvents = True
End If
End Sub

Amicalement

Nad

... J'ai tout fait les étapes en ordre et je n'y arrive pas. Ce serait très apprécier si vous pouviez m'aider un tout petit peu. Je suis navré..

Bonjour

Essaye en remplaçant cette ligne :

Target = Range("Liste").Find(Target).Offset(0, 1).Value

Par

Target = [Liste].Find(Target).Offset(0, 1).Value
21pierre00438.zip (14.46 Ko)

Amicalement

Nad

Nad a écrit :

Bonjour

Essaye en remplaçant cette ligne :

Target = Range("Liste").Find(Target).Offset(0, 1).Value

Par

Target = [Liste].Find(Target).Offset(0, 1).Value

Amicalement

Nad

Wow! Très bon travail. Une dernière petite chose qui n'a pas vraiment de lien. Lorsque je sélectionne une plage de cellule pour faire une liste déroulante, est-ce que c'est possible de ne pas faire apparaître les cellules vides? Je croyais qu'en cochant "Ignorer si vide" cela allait fonctionner... Je ne comprends pas pourquoi

Bonjour

Remplace la formule du nom défini par celle-ci :

=DECALER(Feuil2!$A$2;;;NBVAL(Feuil2!$A:$A)-1)

De cette façon, quand tu ajoutes une donnée à ta liste elle est automatiquement prise en compte.

Amicalement

Nad

Rechercher des sujets similaires à "assigner numero predetermine choix liste"