IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Toujours mon menu déroulant


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Février 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2013
    Messages : 14
    Par défaut Toujours mon menu déroulant
    Bonjour.

    Peut-on dans une liste déroulante (par validation des données) faire en sorte qu'en tapant une lettre, la liste présente la première donnée commençant par cette lettre? et que je n'ai pas de message d'erreur quand le mot ne se trouve pas dans la liste.
    Si ou, comment faire.

    Merci pour vos suggestions.
    Bonne journée à toutes et tous
    Fichiers attachés Fichiers attachés

  2. #2
    Membre émérite Avatar de keygen08
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 545
    Par défaut
    Bonsoir

    dans les propriété de listbox, voir dans matchentry
    fmMatchEntryFirstLetter 0 Correspondance de base. Le contrôle recherche l'entrée suivante qui commence par le caractère saisi. La frappe répétée de la même lettre parcourt toutes les entrées commençant par cette lettre.

    fmMatchEntryComplete 1 Correspondance étendue. Pour la frappe de chaque caractère, le contrôle recherche une entrée correspondant à tous les caractères saisis (par défaut).

    fmMatchEntryNone 2 Aucune correspondance.

  3. #3
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 166
    Billets dans le blog
    53
    Par défaut
    Bonjour Christophe,
    Ce que tu dis est exact pour un ListBox placé dans un UserForm mais la question de Sonia portait sur l'outil Validation de données et là ce n'est pas possible.
    Donc si l'outil est placé sur plusieurs cellules dans une colonne il n'y a pas de solution.
    En revanche si la Validation de données est placée dans une cellule unique dans le but de déclencher une recherche sur plusieurs cellules (comme par exemple le nom d'un client dans une facture). On peut avantageusement remplacer l'outil Validation de données par un contrôle ActiveX - ComboBox ou ListBox.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  4. #4
    Membre averti
    Femme Profil pro
    Inscrit en
    Février 2013
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2013
    Messages : 14
    Par défaut liste deroulante
    bonjour et merci
    mais pour moi tout ce que vous me dites c'est du petit chinois.
    par rapport à mon tableau
    sur l'onglet unité se trouve ma liste
    sur l'onglet modèle Colonne C l'endroit ou je souhaite mettre ma liste. en ecrivant seulement quelques lettres et en ne m'envoyant pas de message d'erreur quand je tape un mot qui n'est pas. beaucoup trop compliqué pour moi novice dans excel.

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 166
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    mais pour moi tout ce que vous me dites c'est du petit chinois.
    par rapport à mon tableau
    sur l'onglet unité se trouve ma liste
    sur l'onglet modèle Colonne C l'endroit ou je souhaite mettre ma liste. en ecrivant seulement quelques lettres et en ne m'envoyant pas de message d'erreur quand je tape un mot qui n'est pas. beaucoup trop compliqué pour moi novice dans excel.
    Je n'ai pas ouvert ton classeur, ce que je ne fais jamais dans les premiers échanges mais je comprends à la lecture de ce post que tu as une feuille nommée Unité dans laquelle se trouve une plage de cellules qui comporte une liste de données, plage qui est référencée dans l'outils Validation de données qui se trouve dans les cellules de la colonne C de la feuille nommée modèle
    Et donc à ta première question
    Peut-on dans une liste déroulante (par validation des données) faire en sorte qu'en tapant une lettre, la liste présente la première donnée commençant par cette lettre
    Ma réponse était non, dans un Validation de données on ne peut pas taper une lettre et avoir automatiquement le mot commençant par cette lettre.
    Pour la seconde partie de ta question
    et que je n'ai pas de message d'erreur quand le mot ne se trouve pas dans la liste.
    Si ou, comment faire.
    Oui c'est possible
    L'outil Validation de données possède trois onglets et le troisième onglet [Alerte d'erreur] a une petite liste sous le nom Style.
    Par défaut il est positionné sur Arrêt mais il y a deux autres styles Avertissement et Informations.
    1. Avertissement, une boîte de dialogue s'affichera pour indiquer à l'utilisateur qu'il a tapé un nom qui n'est pas dans la liste. L'utilisateur aura le choix entre recommencer en valider et donc le nom sera accepté (mais attention ne s'ajoutera pas dans la liste).
    2. Information, affiche une boite de dialogue qui signale simplement le fait que l'utilisateur a tapé un nom qui n'est pas dans la liste.

    A titre personnel, je trouve que le style Avertissement fait un peu double emploi avec Information.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  6. #6
    Membre confirmé Avatar de Excel_man
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2011
    Messages : 98
    Par défaut
    Bonjour,
    Comme ce sujet n'est pas strictement lié au VBA, je me permet d'apporter ma contribution.
    Pour la question initiale:
    Peut-on dans une liste déroulante (par validation des données) faire en sorte qu'en tapant une lettre, la liste présente la première donnée commençant par cette lettre
    Au lieu de mettre simplement comme référence une liste nommée pour les listes déroulantes j'utilise depuis pas mal de temps la formule suivante dans la page de validation de données:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(C1<>"";DECALER(PREMIERE_CELLULE_LISTE_NOMMEE;EQUIV(C1&"*";LISTE_NOMMEE;0)-1;;SOMMEPROD((STXT(LISTE_NOMMEE;1;NBCAR(C1))=TEXTE(C1;"0"))*1));LISTE_NOMMEE)
    LISTE_NOMMEE correspond aux cellules que le veux faire apparaître dans le menu déroulant et PREMIERE_CELLULE_LISTE_NOMMEE correspond a l'adresse de la première cellule de cette liste. Il faut aussi decocher les alertes.
    Ensuite quand tu saisie les premières lettres, tu ouvre ta liste déroulante et tu n'as que celle qui contienne ta saisie.
    En espérant que ça corresponde a ta demande, j'ai modifié ton fichier en conséquence.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Passer mon menu déroulant au dessus du reste !
    Par u115rcu dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 17/03/2008, 22h01
  2. Changer la valeur de mon menu déroulant
    Par cdevl32 dans le forum Langage
    Réponses: 2
    Dernier message: 14/03/2008, 21h24
  3. Problème de compatibilité pour mon menu déroulant
    Par tidus_6_9_2 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 29/01/2008, 14h29
  4. Mon menu déroulant ne se ferme pas lorsqu'on quitte le champ
    Par sweety107 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/06/2007, 19h41
  5. Mon menu déroulant "wizz" sous IE
    Par koskoz dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 08/06/2007, 11h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo