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 :

ListBox-ComboBox avec valeur en dur dans VB


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 23
    Par défaut ListBox-ComboBox avec valeur en dur dans VB
    Bonjour,

    Je suis en train de créer une macro pour laquelle l'utilisateur doit entrer un mot (parmi une dizaine au choix), dans une InputBox qui récupère une variable qui me servira ensuite dans ma macro.

    En soi, ce mot ne peut prendre qu'une dizaine de valeurs différentes, je me dis donc que pour éviter les bugs dus à l'orthographe lors de la saisie, une liste déroulante de choix serait plus appropriée.
    Seulement voilà, je ne veux pas aller chercher mes valeurs dans une plage de cellules déterminées, je veux les écrire directement dans mon code, en dur, car ce seront toujours les mêmes. À la base, je lance ma macro d'un classeur vide, je ne veux donc rien écrire dedans...
    De même, j'aimerais que l'utilisateur ne puisse choisir qu'une valeur parmi la dizaine au choix, et qu'au simple click, le mot choisi soit récupéré comme avec mon InputBox.
    Je sais, cela fait beaucoup de "j'aimerais" !!!

    En gros, je pense qu'il faut que je passe par un UserForm et une ListBox ou ComboBox.
    Est-ce que quelqu'un a une idée ? J'ai lu pas mal de choses à ce sujet mais je n'arrive pas à recouper les infos pour créer mon propre code.

    D'avance merci de votre aide !

    Clemini.

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonsoir demini,

    Si ça ne te pose pas de problème d'avoir un ComboBox directement sur une feuille (le combo est un contrôle ActiveX). A l'ouverture du classeur le combo est rempli :

    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
    21
    22
     
     
    'à mettre dans le module du classeur :
     
    Private Sub Workbook_Open()
     
        With Feuil1.ComboBox1
            .AddItem "Mon premier mot"
            .AddItem "Mon second mot"
            .AddItem "Mon troisième mot"
            'etc...
        End With
     
    End Sub
     
    'a mettre dans le module de la feuille (pour le test) :
     
    Private Sub ComboBox1_Change()
     
        MsgBox ComboBox1.Text
     
    End Sub
    Hervé.

  3. #3
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 23
    Par défaut ComboBox
    Merci Hervé,

    Je vais essayer de chercher encore un peu selon la méthode que je voudrais utiliser mais en effet, je vais peut-être devoir me résigner à cela !

    Bonne journée,

    Clemini.

  4. #4
    Membre expérimenté Avatar de spaiku
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Septembre 2007
    Messages
    209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2007
    Messages : 209
    Par défaut
    Bonjour,

    pourquoi ne passes-tu pas directement par une validation ? Tu n'es pas obligé de passer par une plage de cellules, tu peux directement saisir des valeurs.

    Ou alors il y a quelque chose que je n'ai pas compris dans ton besoin ?

  5. #5
    Membre averti
    Inscrit en
    Juin 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 23
    Par défaut
    Spaiku,

    Tu as tout à fait compris, mais je n'ai que des notions en VBA donc qu'est-ce qu'une validation ?
    Merci !

    Clemini.

  6. #6
    Membre Expert Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Par défaut
    bonjour,

    vois avec ce code pour comprendre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    On Error Resume Next
    With Cells(1, 1).Validation
        .Delete
        .Add xlValidateList, xlValidAlertStop, xlBetween, "choix10,choix20,choix30"
    End With
    On Error GoTo 0

Discussions similaires

  1. Champs identiques avec valeur différente where dans une même table
    Par Cyrus59 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 17/11/2014, 16h56
  2. [VxiR2] Saisir une valeur en dur dans une dimension
    Par JuniorBI dans le forum Designer
    Réponses: 1
    Dernier message: 24/10/2011, 16h43
  3. Réponses: 28
    Dernier message: 07/06/2006, 13h30
  4. [WinForms] ComboBox avec valeur non désirée
    Par Ditch dans le forum Général Dotnet
    Réponses: 14
    Dernier message: 11/04/2006, 16h52
  5. afficher une valeur par défault dans la combobox
    Par shadow31 dans le forum MFC
    Réponses: 6
    Dernier message: 09/01/2006, 17h25

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