Bonjour

Je m'arrache les cheveux et ne comprends pas l'origine de mon erreur :
Je voudrais tout simplement remplir ma listbox1 qui appartient au Userform1 au moment ou je clique sur l'OptionButton1.
Je lance mon Userform depuis la feuille 1 et les données de remplissage se trouvent sur la feuille 2.

Le code ci-dessous fonctionne, mais je voudrais ne pas à avoir à Activer la feuille 2. (Worksheets(2).Activate). Or si je ne le fais pas, ça plante, malgré la présence de Worksheets(2).Range(Cells(1, 1), Cells(Range("A100").End(xlUp).Row, 1)).Value à la ligne suivante.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Private Sub OptionButton1_Click()
  userform1.ListBox1.ColumnHeads = False
  Worksheets(2).Activate
  userform1.ListBox1.List() = Worksheets(2).Range(Cells(1, 1), Cells(Range("A100").End(xlUp).Row, 1)).Value
End Sub
Par contre si je code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Private Sub OptionButton1_Click()
  userform1.ListBox1.ColumnHeads = False
  userform1.ListBox1.List() = Worksheets(2).Range("A1:A11").Value
End Sub
Ca marche très bien et sans avoir à activer la feuille 2. Or moi, je voudrais qu'Excel repère le nombre d'élément à copier sans lui imposer la cellule de fin de liste d'ou le Range(Cells(1, 1), Cells(Range("A100").End(xlUp).Row, 1))

Merci pour votre aide