Choisir entre 2 listes de validation selon la valeur d'une colonne

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

T

tmontule

Guest
Bonjour à tous et bon weekend.

Voilà mon problème. J'ai une colonne statut dans une feuille. J'ai une autre colonne A. Je souhaiterais :

Si A = 1 alors la liste de validation de la colonne B doit contenir "Created, Estimated, Started, Blocked, Delivered".
Si A = 2 alors la liste de validation de la colonne B doit afficher les valeurs "Not Started, In Progress, Removed, Done".

Le tout étant dynamique selon les valeurs renseignées dans A.

Auriez-vous une petite idée ?

A+

Thierry
 
Re : Choisir entre 2 listes de validation selon la valeur d'une colonne

Bonjour.

Auriez-vous une petite idée ?
Oui. J'ai dans l'idée qu'un petit fichier joint nous aiderait :
- à voir comment est organisé ce fichier (Noms définis ou pas, où...)
- à tester la proposition pour nous assurer qu'elle fonctionne.
 
Re : Choisir entre 2 listes de validation selon la valeur d'une colonne

Salut

Si... pas ça, tant pis
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column > 1 Then Exit Sub
    Dim L$
    Target.Offset(0, 1) = "": Target.Offset(0, 1).Validation.Delete
    Select Case Target
      Case 1: L = "Created, Estimated, Started, Blocked, Delivered"
      Case 2: L = "Not Started, In Progress, Removed, Done"
      Case Else: Exit Sub
    End Select
    Target.Offset(0, 1).Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=L
End Sub
 
Re : Choisir entre 2 listes de validation selon la valeur d'une colonne

Bonjour et merci à tous pour vos réponses rapides.

L'exemple sur les listes de validation de chefredo est astucieux.

C'est ce que je souhaite obtenir. En revanche, je souhaite si F2 = 0 alors j'affiche la liste choix 1 sinon la liste choix 2. Any idea ?

Pour le code fourni dans la réponse précédente, je ne comprends pas à quoi correspond Target. La colonne A ou la colonne B ? Je doute qu'il marche...

Cordialement.

Thierry
 
Re : Choisir entre 2 listes de validation selon la valeur d'une colonne

Bonjour,

voir en pièce jointe une solution différente (formule un poil plus compliquée qu'avec INDIRECT).
La méthode est décrite sur le site du "Maître" Boisgontier dont je t'ai donné la référence dans mon message précédent.

Chefredo
 

Pièces jointes

Dernière édition:
Re : Choisir entre 2 listes de validation selon la valeur d'une colonne

Re-bonjour Chefredo,

Attention la colonne F2 peut prendre n'importe quelle valeur. Pas seulement 0 et 1 mais 0,1,2,3, 4....100, 1098 etc.

Donc liste 1 si F2 = 0 et liste 2 si toutes les autres valeurs. Ou liste 1 si F2=0,1,2,3,4,5 et liste 2 si F2>5 par exemple.

Tu vois ?

A+

Thierry
 
Re : Choisir entre 2 listes de validation selon la valeur d'une colonne

Bonjour à tous,

Le code de Si... fonctionne parfaitement... avec ta demande du #1 où tu souhaites 1 ou 2 en A et les listes de validation en B.

J'aurais juste rajouté un :
Target.Offset(0, 1).Select
avant le End Sub.

A + à tous
 
Re : Choisir entre 2 listes de validation selon la valeur d'une colonne

Bonjour à tous. Bonjour Thierry.

Que de temps perdu !
Je suis persuadé qu'un petit fichier Excel joint, comme demandé hier à 10h55, et comme préconisé par Lien supprimé
- sans données confidentielles,
- respectant l'organisation des données
- ne contenant que la ou les zone(s) concernée(s)
- Présentant tous les cas de figure envisageables (données d'entrée) avec les résultats souhaités pour chaque cas (ce qui évite de modifier les contraintes au fil des échanges)
aurait généré dans les 10 mn une solution satisfaisante.
C'est, certes, un petit effort, mais Chefredo, par exemple, n'a pas hésité à le fournir.

Concernant la proposition de Si..., et votre appréciation :
Pour le code fourni dans la réponse précédente, je ne comprends pas à quoi correspond Target. La colonne A ou la colonne B ? Je doute qu'il marche...
Peut-être auriez-vous pû tester, et ainsi lever vos doutes ?
Pour votre information,
If Target.Column > 1 Then Exit Sub
signifie "si le numéro de colonne dans laquelle se trouve la cellule active est supérieur à 1 (colonne A), on sort de la procédure."
 
- 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

Retour