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 : 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
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Merci