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 :

[vba-e] Liste de choix dans ComboBox


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juin 2006
    Messages
    622
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 622
    Points : 156
    Points
    156
    Par défaut [vba-e] Liste de choix dans ComboBox
    Bonjour,

    J'ai créé une combobox dans un userform que j'initialise de la sorte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub UserForm_Initialize()
      ComboBox1.List() = Array("Choix1","choix2","choix3")
    End Sub
    Par contre il faut absolument que l'utilisateur sélectionne ce qu'il y'a dans la liste et ne puisse pas écrire son propre texte.

    Pour résumé : obligation de choisir un élément de la liste... et rien d'autre

    Y'a t il une propriété ou faut-il écrire du code avec des contrôles ?

  2. #2
    Membre confirmé Avatar de Commodore
    Homme Profil pro
    Business manager
    Inscrit en
    Février 2004
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Business manager

    Informations forums :
    Inscription : Février 2004
    Messages : 599
    Points : 632
    Points
    632
    Par défaut
    J'ai trouvé une solution a ton probleme.

    Environnement:
    J'ai pris un fichier excel vierge et j'y ai créé un UserForm1.
    Dessus j'ai juste collé un ComboBox1.

    Ensuite, voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Dim ComboChange As Boolean
    Private Sub ComboBox1_Change()
        If ComboChange = True Then
            ComboChange = False
            ComboBox1.Text = ""
        End If
     
    End Sub
     
    Private Sub ComboBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
        ComboChange = True
    End Sub
    Private Sub UserForm_Initialize()
        ComboBox1.AddItem "test"
        ComboBox1.AddItem "crash"
        ComboBox1.AddItem "yeah"
        ComboBox1.AddItem "man"
     
        ComboChange = False
    End Sub
    Bien entendu, à adapter selon ton cas. Mais de cette façon, tu neutralises tout moyen de taper ton texte directement.

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juin 2006
    Messages
    622
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 622
    Points : 156
    Points
    156
    Par défaut
    Donc si je comprend bien on ne peux pas bloquer le texte directement via une propriété de la ComboBox

    Moi j'avais trouvé ça comme code en variante du tien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Private Sub ComboBox1_Change()
        Select Case ComboBox1.Value
     
        Case 1
            Résultat = 1
        Case 2
            Résultat = 2
        Case 3
            Résultat = 3
     
        End Select
     
     
    Private Sub CommandButton2_Click()
     
        'Contrôle si un élément de la liste a été sélectionné
        If ComboBox1.ListIndex = -1 Then MsgBox "Veuillez sélectionner un élément de la liste.", vbCritical, "Choix invalide"    
     
    End Sub
    Merci

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Euh...

    En VBA, il y a bien une propriété MatchRequired pour les Combo, non?

    A votre avis, à quoi sert-elle?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 14
    Dernier message: 07/04/2014, 18h08
  2. Réponses: 2
    Dernier message: 23/07/2007, 12h42
  3. [vba excel] liste de choix dans inputbox
    Par ancel17 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/07/2007, 11h06
  4. [C#]liste de choix dans une propriété d'un user control
    Par LeDeveloppeurDotNet dans le forum Windows Forms
    Réponses: 2
    Dernier message: 07/10/2005, 12h41
  5. [Formulaire] filtrer liste par choix dans autre liste
    Par vatounet dans le forum Access
    Réponses: 4
    Dernier message: 05/10/2005, 15h57

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