Problème de menu déroulant non respecté

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

  1. Contributeur
    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
    1. Contributeur
      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
      1. Contributeur
        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
        1. 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
          1. Contributeur
            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
        2. 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