VBA remplir ComboBox

tut -  
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

J'ai une feuille excel et j'y ai mis nue comboBox
Je voudrais initialiser la comboBox et lui rentrer la liste des chiffres de 1 à 5

Je sais le faire avec une userForm :

UserForm_initialize

For i=1 to 5
ComboBox1.addItem i
Next i

End sub

Le problème c'est que comme je suis dans une feuille excel et pas dans la userform, je n'arrives pas à trouver comment doit s'appler ma procédure.

Merci d'avance pour votre aide!

1 réponse

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bonjour,
    Si ta ComboBox a bien été créée via la barre d'outils "boîte à outils contrôles", tu peux créer ta procédure dans l'évènement de WorkSheet "Activate". Le code serait :

    Private Sub Worksheet_Activate()
    Dim i As Integer
    ComboBox1.Clear 'vide la ComboBox
    For i = 1 To 5
    ComboBox1.AddItem i 'remplit la Combo
    Next
    End Sub

    cela te permet de compléter la ComboBox à l'activation de ta feuille.
    Le petit souci est qu'à l'ouverture du classeur, si ta Combo est dans la feuille "d'ouverture", elle ne se remplira pas. Deux solutions :
    - soit l'utilisateur change de feuille et reviens sur celle-ci,
    - soit tu le fais automatiquement, en mettant une procédure à l'ouverture du classeur (évènement WorkBooks_Open) comme ceci :

    Private Sub Workbook_Open()
    Sheets("Feuil2").Activate
    Sheets("Feuil1").Activate
    End Sub

    N'hésite pas à revenir en cas de souci.
    0