Problème avec le RowSource d'une ListBox
Bonjour ou plutôt bonne nuit :)
J'ai petit problème :
Je ne sais pas vraiment comment expliquer, le code en dira plus.
Le voici
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| Private Sub UserForm_Initialize()
'provisoire
'ThisWorkbook.Worksheets("Traitement").Activate
'Fin provisoire
'Ma ListBox s'appelle lstTraitement
lstTraitement.ColumnCount = 4
lstTraitement.ColumnHeads = True
lstTraitement.ColumnWidths = "260;50;50;50"
Dim rgTrt As Range
Dim rgTmp As Range
Dim a%
'Petit bordel par rapport aux Heads
Set rgTmp = ThisWorkbook.Worksheets("Traitement").Range("A1").CurrentRegion
a = rgTmp.Rows.Count - 1
Set rgTrt = rgTmp.Offset(RowOffset:=1).Resize(RowSize:=a)
lstTraitement.RowSource = rgTrt.Address
End Sub |
Avec ce code, lorsque je lance mon formulaire, tout se passe comme prévu si la feuille traitement est activée. Dans les autres cas, la ListBox m'affiche le contenu d'autres feuilles (activées à ce moment là)...
(D'où le
Code:
ThisWorkbook.Worksheets("Traitement").Activate
pour résoudre provisoirement ce problème).
J'aimerais savoir comment faire pour définir le RowSource d'une ListBox sans forcément activer la feuille :?
Ca me chagrine cette histoire :mouarf:
Merci ;)