Forcer un menu déroulant à prendre une valeur

ramf

XLDnaute Nouveau
Bonjour,

Je souhaite créer un menu déroulant dont les valeurs peuvent changer en fonction de la valeur d'une case à cocher. Par exemple, j'ai une case à cocher "Par défaut", si elle est décochée, les utilisateurs ont le choix entre "Option A", "Option B", "Option C" et "Option D". Si elle est cochée, alors le seul choix possible est "Option A".

J'arrive à créer ces deux menus déroulants grâce à une fonction SI dans la Validation des données mais j'ai encore un problème : imaginons que le choix avant de cocher "Par défaut" était sur "Option B", lorsque je coche "Par défaut", je dois retourner sur la cellule contenant le menu déroulant pour changer "Option B" en "Option A". Je voudrais que dès que "Par défaut" est choisi, la valeur de la cellule contenant le menu déroulant devienne "Option A". Est-ce possible ? Je voudrais au maximum éviter le VBA.
Je joins un fichier illustrant ce que j'ai fait.

D'avance merci.
 

Pièces jointes

  • MenuDeroulantConditionnel.xls
    17 KB · Affichages: 50
  • MenuDeroulantConditionnel.xls
    17 KB · Affichages: 58
  • MenuDeroulantConditionnel.xls
    17 KB · Affichages: 60

Jocelyn

XLDnaute Barbatruc
Re : Forcer un menu déroulant à prendre une valeur

Bonjour le Forum,
Bonjour ramf,

un essai en fichier joint

Cordialement
 

Pièces jointes

  • MenuDeroulantConditionnel.xls
    17 KB · Affichages: 47
  • MenuDeroulantConditionnel.xls
    17 KB · Affichages: 52
  • MenuDeroulantConditionnel.xls
    17 KB · Affichages: 56

ramf

XLDnaute Nouveau
Re : Forcer un menu déroulant à prendre une valeur

Merci pour cette réponse rapide ! Effectivement ma fonction SI échangeait les résultats souhaités. Toutefois le problème semble rester le même : si je suis sur "Option D" et que je coche "Par défaut", la cellule C8 a toujours pour valeur "Option D". Or je souhaiterais que cocher "Par défaut" implique que la cellule C8 prenne la valeur "Option A" automatiquement.

Cordialement.
 

Jocelyn

XLDnaute Barbatruc
Re : Forcer un menu déroulant à prendre une valeur

re,

Pour que cela s'affiche sans avoir besoin de repasser sur la liste de validation j'ai peur qu'il n'y ai que le VBA et je suis une bille a ce jeu la je ne peux donc pas t'aider plus

Désolé
 

GIBI

XLDnaute Impliqué
Re : Forcer un menu déroulant à prendre une valeur

Bonjour,

il faut passer par du VBA : une procédure qui sera activée par la case à cocher dans Module1 (voir exemple en PJ)

tu nomme ta case à cocher CaseACocher
Tu écrit le code
Tu affecte la macro à la Checkbox

Code:
Sub Caseàcocher1_Clic()
   If ActiveSheet.CheckBoxes("CaseACocher").Value = xlOn Then
    
       Application.EnableEvents = False
        Range("C8") = Range("B2")
        Application.EnableEvents = True
    End If
End Sub

A toi de l'adapter si besoin

GIBI
 

Pièces jointes

  • MenuDeroulantConditionnel(2).xls
    34 KB · Affichages: 46

ramf

XLDnaute Nouveau
Re : Forcer un menu déroulant à prendre une valeur

Merci, cela fait exactement ce que je recherche. Je souhaitais éviter VBA par peur d'un problème d'incompatibilité entre différentes versions d'Excel, cela ne risque pas d'arriver ?
 

Discussions similaires