Problème de menu déroulant non respecté

Fermé
Piroullino Messages postés 1 Date d'inscription lundi 11 mars 2013 Statut Membre Dernière intervention 11 mars 2013 - 11 mars 2013 à 21:50
eriiic Messages postés 24512 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 24 mars 2023 - 12 mars 2013 à 14:17
Bonjour,

je travail avec excel 2010, je fait des liste déroulante dont les données sont dans une autre feuille du classeur. les noms des listes en question dont bien définies et mes listes fonctionnent.

Mon problème c'est que les choix des listes ne sont pas respecté, disont que le choi dans la liste est : Pas éligible . Je voudrais que ce choix soit ecris EXACTEMENT de cette façon.

Nous sommes plusieurs a travailler sur les feuilles une fois que je les ai créer. comme mes liste sont plutot courte nous tapons souvent le mot que nous voulons au lieu de choisir le bon terme dans la liste déroulante. je mattendrais donc a ce qui est tapé soit refuser s'il n'est pas écris exactement dans le format spécifier dans la liste.

C'est là mon problème ma liste accepte (pas éligible) en minuscule. alors que je veux qu'il soit écris Pas éligible.

je vous remercie de me répondre car cette situation me cause beaucoup de problème une fois que je veux faire la compilation des données de plusieurs classeurs.

Merci

Piroullino

5 réponses

gbinforme Messages postés 14939 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 657
12 mars 2013 à 09:21
Bonjour Piroullino, Raymond,

Je ne pense pas que l'on puisse contrôler la casse dans les listes déroulantes au moment de la saisie car contrairement à la fonction tri par exemple, la validation n'a pas cette option.

Ce que je peux te proposer c'est de mettre une mise en forme conditionnelle "dissuasive" (police rouge sur fond rouge par exemple) sur tes colonnes concernées avec une formule du genre :

=ET(A1<>"";NON(EXACT(RECHERCHEV(A1;liste;1;0);A1)))

4
Raymond PENTIER Messages postés 57149 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 24 mars 2023 17 163
12 mars 2013 à 02:34
Ce n'est hélas pas possible (sauf peut-être par macro), car le logiciel ne traite que la syntaxe des termes de la liste, et pas leur format.
0
eriiic Messages postés 24512 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 24 mars 2023 7 168
12 mars 2013 à 14:17
Bonjour à tous,

une proposition en vba :
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim liste As Range
    If Intersect(Target, [A2:A4]) Is Nothing Or Target.Count > 1 Then Exit Sub
    If Target = "" Then Exit Sub
    Set liste = Range(Mid(Target.Validation.Formula1, 2))
    Application.EnableEvents = False
    Target = Application.Index(liste, Application.Match(Target, liste, 0))
    Application.EnableEvents = True
End Sub 

https://www.cjoint.com/c/CCmorEQzyY4

eric
0
PHILOU10120 Messages postés 6222 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 24 mars 2023 759
12 mars 2013 à 10:21
Bonjour

Utiliser le message d'alerte arrêt et cela devrait bloquer les entrées hors liste
Prendre l'habitude de renseigner la liste et non la cellule de la liste déroulante
-1
gbinforme Messages postés 14939 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 657
12 mars 2013 à 10:30
Bonjour,

Utiliser le message d'alerte arrêt et cela devrait bloquer les entrées hors liste

As-tu vérifié cette contre vérité ?
hors liste > OUI
avec casse différente > NON
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PHILOU10120 Messages postés 6222 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 24 mars 2023 759
12 mars 2013 à 11:06
Bonjour

La liste déroulante sert-elle pour créer une données qui est recopier dans une base si oui dans une cellule intermédiaire mettre une rechercheV et c'est cette cellule qui sera utilisé pour entrer les données dans la base de données
Créer une deuxiéme liste avec les libélés voulus et mettre une rechecheV pour ramener le mot entré dans la cellule de la liste déroulante c'est cette cellule intermédiaire qui sera copié et non le mot tapé dans la cellule avec le menu déroulant

en C2 =RECHERCHEV(C1;G1:G10;1;FAUX)

Ou C1 la cellule avec la liste déroulante
G1:G10 votre liste
-1