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 :

Valeurs par defaut dans une ComboBox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 80
    Par défaut Valeurs par defaut dans une ComboBox
    Bonjour,

    Peut qqn me dire comment interdire l'écriture dans une ComboBox(liste déroulante) de sorte que les utilisateurs mettent que les valeurs par défaut?

    Merci d'avance

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Par défaut
    Tout dépend où se situe ta combobox.

    Si elle se situe dans un userform, c'est simple tout ce que tu as à faire c'est de paramétrer sa propriété MatchRequired à True. Tu peux faire ça depuis la fenêtre propriétés ou via le code: c'est au goût mais perso je le fais via la fenêtre propriétés.

    Si en revanche elle se situe dans ta feuille Excel... là c'est un peu plus compliqué. Car là tu auras beau mettre cette propriété à true ça ne marchera pas (je comprends pas pourquoi d'ailleurs). Il faut donc employer la ruse. Ce que je te propose donc, c'est d'utiliser l'évènement "Lostfocus" de ta combobox pour détecter le moment où l'utilisateur la quitte, et t'en servir pour "forcer" la saisie vers l'un des éléments de la liste.

    Voici comment je procède personnellement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub ComboBox1_LostFocus()
        Dim contenu As String, element_combobox As Variant
        contenu = ComboBox1.Value
        For Each element_combobox In ComboBox1.List
            If element_combobox = contenu Then Exit Sub
        Next
        ' Si ce n'est pas une entrée valide, on met la première entité de la liste
        ComboBox1.Value = ComboBox1.List(0)
    End Sub
    Je précise que ceci ne concerne que la combobox de la boîte à outils contrôles, pas celle de la boîte à outils formulaires.

Discussions similaires

  1. Réponses: 0
    Dernier message: 02/04/2013, 11h23
  2. Réponses: 5
    Dernier message: 17/07/2011, 07h51
  3. Champ independant: valeur par defaut dans une Table
    Par bakaccess dans le forum Access
    Réponses: 2
    Dernier message: 27/02/2008, 15h35
  4. [WinForms]Valeur par défaut dans une combobox
    Par Yanmeunier dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 07/11/2006, 14h50
  5. Réponses: 6
    Dernier message: 06/09/2006, 14h50

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