Champ déroulant valeur interdite

beann

XLDnaute Nouveau
Bonjour à tous,

Je cherche à créer un court questionnaire sous excel avec des champs de liste déroulante. Jusque là, aucun problème. Mais là où ca se complique c'est que j'aimerais que parmi la liste que je propose, certaines valeurs soient interdites.

En clair, pour une question, j'aimerais avoir comme réponse possible l'intitulé "Faites votre choix" et les "vraies" réponses à sélectionner. Mais, si on laisse la réponse "Faîtes votre choix", que la saisie laisse apparaitre un message d'erreur et qu'on oblige à selectionner une autre valeur.

De préférence sans avoir à entrer sur du VBA, tout le monde ne sachant pas paramétrer le niveau de sécurité pour les macros.
 

Benjy

XLDnaute Occasionnel
Re : Champ déroulant valeur interdite

Si j'ai bien compris c'est tout à fait possible en rentrant une condition dans les données de validation. Exemple pour 2 listes se situant an A1 et A2.

Formules à mettre dans la validation de A2 : =si(A1="votre choix";listeerreur;liste1)
Avec liste 1 la liste contenant tes bonnes valeurs et listeerreur une liste ayant un seul affichage par exemple : " erreur "
En gros si la première liste n'est pas remplis impossible de faire un choix dans le seconde. Et ainsi de suite.
 

beann

XLDnaute Nouveau
Re : Champ déroulant valeur interdite

Merci beaucoup,
Ce n'est pas exactement ca mais la démarche est la bonne et j'ai au moins avancé. Je n'avais pas pensé à faire une validation conditionnelle avec plusieurs listes. En fait, j'ai une liste avec ces 4 modalités: Faites votre choix;1;2;3. Mais lorsque l'on sélectionne la modalité "Faites votre choix", j'aimerais pouvoir afficher un message d'erreur (ou message tout court) pour signaler qu'il faut choisir parmi les modalités 1, 2 ou 3 et obliger cette saisie comme le fait une validation classique lorsque l'on saisie une valeur n'entrant pas dans le champ spécifié.
 

Benjy

XLDnaute Occasionnel
Re : Champ déroulant valeur interdite

Je vois ce que tu veux dire.
D'habitude j'utilise une macro pour mettre la liste en valur " votre choix" par défaut. Ainsi l'utilisateur ne peut que modifier cette valeur.
Mais si par défaut tu as une case blanche, tu peux dans la cellule d'a coté par exemple mettre un rappel du genre :
=SI(A1="votre choix";"Attention erreur veuillez choisisr un paramètre";"")

Et rajouter un format de cellule rouge pour que cela se voit bien.

Sinon il te reste l'option par macro en utilisant la msgbox.
Code:
If Range("A1").value="votre choix" then
msgbox("Attention erreur veuillez choisir un paramètre")
end if

Je suis sous open office en ce moment donc j'ai pas tester le code mais à priori sa devrait marcher. Sauf erreur eventuelle de syntaxe.
 

beann

XLDnaute Nouveau
Re : Champ déroulant valeur interdite

Je vais essayer ca.

Pour le code VBA, comme déjà dit, le problème c'est que tout le monde n'autorise pas les macros.

Je vais qd mm regarder cette solution. Par contre, question idiote mais comment tu lances ton code sans passer par un bouton? Que le code vba se lance à l'ouverture du fichier.
 

Benjy

XLDnaute Occasionnel
Re : Champ déroulant valeur interdite

Il me semble qu'il faut faire comme ceci, mais comme dit je suis sur OO en ce moment donc niveau macro je ne peux rien vérifier :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then call tamacro
End Sub


Avec A1 la cellule contenant ta liste.

Sans passer par macro je pense que c'est impossible. La seul solution consiste en l'affichage sur la cellule d'a coté d'un message. Ceci avec la fonction SI donné dans mon message plus haut.
 

beann

XLDnaute Nouveau
Re : Champ déroulant valeur interdite

Ta macro marche nickel! Merci beaucoup. Maintenant à voir si j'utilise l'option validation conditionnelle avec rappel du choix à côté ou la macro avec les problèmes de sécurité. Mais je te remercie, très sympa.
 

Discussions similaires

Statistiques des forums

Discussions
312 332
Messages
2 087 362
Membres
103 530
dernier inscrit
Chess01