Excel/ Liste avec condition
Fermé
Bonjour,
J'ai 2 champs avec des validations de liste sur Excel,
Le premier est une liste avec 2 options "oui" ou "non"
Le 2ème est une liste conditionnelle ("si oui, choix entre plusieurs options, si non "")
Lorsque je remplis le premier champ en mettant oui, je vois sur le 2ème champ la liste des choix.
Problème lorsque je reviens en arrière pour finalement cocher "non", le premier choix reste apparent sur mon 2ème champ (mais le reste de ma liste n'apparait plus) or je voudrais que le 2ème champs se mette automatiquement en "" ou qu'il y ait un message d'erreur "contradiction entre champ 2 et champ 1"
Auriez vous une solution ?
Merci d'avance
J'ai 2 champs avec des validations de liste sur Excel,
Le premier est une liste avec 2 options "oui" ou "non"
Le 2ème est une liste conditionnelle ("si oui, choix entre plusieurs options, si non "")
Lorsque je remplis le premier champ en mettant oui, je vois sur le 2ème champ la liste des choix.
Problème lorsque je reviens en arrière pour finalement cocher "non", le premier choix reste apparent sur mon 2ème champ (mais le reste de ma liste n'apparait plus) or je voudrais que le 2ème champs se mette automatiquement en "" ou qu'il y ait un message d'erreur "contradiction entre champ 2 et champ 1"
Auriez vous une solution ?
Merci d'avance
A voir également:
- Excel/ Liste avec condition
- Liste déroulante excel - Guide
- Excel cellule couleur si condition texte - Guide
- Excel liste déroulante en cascade - Guide
- Word et excel gratuit - Guide
- Si et excel - Guide
3 réponses
Bonjour et merci,
Mais pour adapter cela à mon cas, j'ai besoin de bien comprendre les choses !
Je reprends votre macro :
Private Sub Worksheet_Change(ByVal Target As Range)
' contrôle que le focus vient de la cellule C1
If Target.Address <> "$C$1" Then Exit Sub
' recherche le numéro de la colonne de référence
col = Rows(8).Find(Range("D1").Value, Range("D8")).Column
' renseigne la cellule C2
Range("C2") = Cells(9, col)
End Sub
A quoi correspond le "9" ?
Pourquoi le D8 apparaît alors que celui ci est vierge ?
Merci d'avance de vos réponses !!
Mais pour adapter cela à mon cas, j'ai besoin de bien comprendre les choses !
Je reprends votre macro :
Private Sub Worksheet_Change(ByVal Target As Range)
' contrôle que le focus vient de la cellule C1
If Target.Address <> "$C$1" Then Exit Sub
' recherche le numéro de la colonne de référence
col = Rows(8).Find(Range("D1").Value, Range("D8")).Column
' renseigne la cellule C2
Range("C2") = Cells(9, col)
End Sub
A quoi correspond le "9" ?
Pourquoi le D8 apparaît alors que celui ci est vierge ?
Merci d'avance de vos réponses !!
Bonjour,
Petite correction dans la procédure, l’argument [Range("D8")] est en trop.
La ligne devient :
col = Rows(8).Find(Range("D1").Value).Column
A quoi correspond le "9" ?
C’est le numéro de la ligne ou se trouve les premières valeurs pour la liste [C2] Ce qui permet d’initialiser [Range("C2") = Cells(9, col)]
Ci-joint un complément d’information : https://www.cjoint.com/?juv7ITwm26
Petite correction dans la procédure, l’argument [Range("D8")] est en trop.
La ligne devient :
col = Rows(8).Find(Range("D1").Value).Column
A quoi correspond le "9" ?
C’est le numéro de la ligne ou se trouve les premières valeurs pour la liste [C2] Ce qui permet d’initialiser [Range("C2") = Cells(9, col)]
Ci-joint un complément d’information : https://www.cjoint.com/?juv7ITwm26