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 :

Initialisation d'une ComboBox


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 4
    Par défaut Initialisation d'une ComboBox
    Bonjour,

    Je rencontre un petit problème lors de l'initialisation d'une ComboBox dans une feuille Excel. La ComboBox s'initialise que lorsque je clique au moins une fois en dehors de la ComboBox elle-même. Je pense que cela est dû au fait que j'aie inséré le code dans la fonction "Worksheet_SelectionChange"... (mon code ci-dessous). Savez-vous quelle est la meilleure façon pour initialiser une ComboBox dans Excel ? Je ne vous cache pas que je suis novice dans l'utilisation de Excel

    Merci de votre aide.
    Cordialement.

    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
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     
    Dim i As Byte
    Dim RawMaterialList(3) As String
     
    RawMaterialList(0) = "Ferment"
    RawMaterialList(1) = "Sel"
    RawMaterialList(2) = "Présure"
     
    ComboBox1.Clear
     
    For i = 0 To 2
            ComboBox1.AddItem RawMaterialList(i)
    Next i
     
    ComboBox1.ListIndex = 0
    End Sub

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2007
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 491
    Par défaut
    BONJOUR,

    si le combo est utilisé sur une feuille , je pense qu il faut l initialiser lorsque celle ci est activée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Worksheet_Activate()
    .....initiliaser le combo
    End Sub

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 4
    Par défaut
    La fonction Worksheet_Activate() n'était pas présente dans la code. Néanmoins, je l'ai ajoutée et j'ai inséré le code d'initialisation de la ComboBox. Malheureusement, cela ne fonctionne pas et la ComboBox n'est jamais initlialisée. Bon, je poursuis mes recherches. Si vous avez une idée, n'hésitez pas

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 4
    Par défaut
    J'ai trouvé une solution qui me semble cohérente.
    J'ai initialisé la ComboBox dans la fonction "Workbook_Open()" à l'ouverture du document Excel:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Workbook_Open()
     
    Dim MyArray As Variant
    Dim Ctr As Integer
    MyArray = Array("Ferment", "Sel", "Présure")
     
    For Ctr = LBound(MyArray) To UBound(MyArray)
        Feuil3.ComboBox1.AddItem MyArray(Ctr)
    Next
     
    Feuil3.ComboBox1.ListIndex = 0
     
    End Sub

  5. #5
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonsoir


    Tu n'es pas obligé de boucler sur tous les éléments du tableau pour alimenter ton ComboBox:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim MyArray As Variant
     
    MyArray = Array("Ferment", "Sel", "Présure")
     
    Feuil3.ComboBox1.List() = MyArray
    Feuil3.ComboBox1.ListIndex = 0

    bon week end
    michel

  6. #6
    Membre chevronné
    Avatar de Bigalo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 445
    Par défaut
    Juste une précision supplémentaire, presque HS :

    RowSource n’existe pas dans les versions Mac d’Excel. La technique utilisée par SilkyRoad est donc la norme, avec Excel Mac, pour alimenter un ListBox ou un Combo, lorsque l’on ne souhaite pas passer par AddItem.

    Voici en exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub UserForm_Initialize()
        ListBox1.List = Range("Source").Value
    End Sub
    Cordialement,

Discussions similaires

  1. initialisation d'une combobox dans Visual Studio 2012
    Par elmanu20 dans le forum Visual C++
    Réponses: 6
    Dernier message: 26/11/2013, 14h28
  2. [Interface]comment initialiser une combobox?
    Par Kenji dans le forum NetBeans
    Réponses: 4
    Dernier message: 22/10/2010, 20h47
  3. Initialisation d'une ComboBox en fonction des ComboBoxItem
    Par Tuttu dans le forum Windows Presentation Foundation
    Réponses: 8
    Dernier message: 17/05/2010, 23h11
  4. [Débutant(e)] initialisation d'une comboBox
    Par mmarcoboss dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 29/01/2007, 16h18
  5. [VBA-excel]initialiser une combobox dans worksheet
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 20/09/2006, 11h29

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