comment générer une action sur l'evenement choix d'un champs dans une liste.

  • Initiateur de la discussion Initiateur de la discussion nychko
  • 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 !

N

nychko

Guest
Bonjour à tous je suis peut etre pas tres clair dans ma demande.
je vous explique.
J'ai créé une liste dans la cellule A1 à l'aide de validation .. liste.
dans cette liste j'ai deux choix A OU B.
je voudrais que lorsque je choisis A, apparaisse dans la cellule d'à coté une liste où la source serait situé dans la plage D1😀4. alors que si je choisi B à coté apparaitrait une autre liste avec une autre source...
Mon soucis est de savoir si sur un evement choix d'un champs dans une liste on peut faire une action résultante?
J'espere etre clair.
Je vous remercie pour votre aide.
 
Salut Nychko,

Voici un exemple de procédure qui change la plage de références d'une liste de validation située en B1 :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
With Range("B1").Validation
.Delete
If Target.Text = "Jours" Then
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=$D$1:$D$7"
Else
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=$E$1:$E$12"
End If
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End If
End Sub

Dans cet exemple, si l'on choisis "Jours" en A1, la liste de B1 propose les jours de la semaine, sinon les mois de l'année.

A+
Horatio
 
Salut nychko, salut lord nelson

Un autre exemple en pièce jointe sans passer par VBA, pour ce qui est des listes de validation et de leurs utilisation, tu peux consulter le coffret des liste téléchargeable créé par Celeda, c'est très interressant.

J'espère avoir apporté de l'eau à ton moulin.

@ plus

Jacques
 

Pièces jointes

Re nychko,

si tu veux que la cellule B3 s'efface quand tu change A3, rajoute le code suivant dans VBA :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$3" Then
Range("b3").Value = ""
End If
End Sub

Bon courage

Jacques
 
Oui Jacques, tu as raison !

Il n'est pas nécessaire de passer par VBA, on peut s'appuyer sur une formule en paramétrant la validation.

J'ai fait un autre test avec SI :
=SI(A20="Jours";$D$1:$D$7;$E$1:$E$12)
et ça marche aussi.

Merci à toi, à Nichko et à Celeda, j'ai encore appris quelque chose aujourd'hui.

Vive XLD !
Horatio
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
819
Retour