Bonsoir à ceux qui passeront par là,
Et merci à ceux qui m'ont tant aidé
Là où je patine dans l'adaptation de macros récupérées ici ou chez Wiki,
C'est que ne parviens pas à charger directement ma Listview sans passer par une feuille.
Ni de construire une variable qui me totalisera toutes ces valeurs récupérées dans le Label1 de l'USF. Sans avoir besoin de les écrire dans une feuille (Of course), ni dans la Listview
Capricieux, le mec peut-être, mais vachement emm… sûrement.
Pensez bien que j'ai fouiné partout.
Si quelqu'un peut m'aider, d'avance Merci.
Et bonne soirée à vous.
IFFIC
Private Sub UserForm_Initialize()
Set OBJET = CreateObject("Shell.Application")
Set DOSSIER = OBJET.Namespace(ActiveWorkbook.Path)
For Each FICHIER In DOSSIER.Items
If FICHIER <> "IMPORT" Then
N = N + 1
Worksheets("LISTE").Cells(N, 1).Value = DOSSIER.GetDetailsOf(FICHIER, 0) & ".xls"
End If
Next FICHIER
Call CHARGER_LES_DONNEES
End Sub
Et dans le Module
Sub CHARGER_LES_DONNEES()
Dim i As Byte
Dim j As Integer
Dim LIGNE As Range
UserForm1.ListView1.View = 3
UserForm1.ListView1.CheckBoxes = True
UserForm1.ListView1.ColumnHeaders.Add , , Worksheets("LISTE").Cells(1, 6), 100, 0
UserForm1.ListView1.ColumnHeaders.Add , , Worksheets("LISTE").Cells(2, 6), 65, 0
Dim Cell As Range
For Each Cell In Range("A1:A4")
ActiveSheet.Cells(Cell.Row, 2).FormulaArray = "='" & ThisWorkbook.Path _
& "\[" & Cell & "]" & "FICHE" & "'!" & Cells(1, 2).Address(0, 0)
Next Cell
For Each LIGNE In Worksheets("LISTE").Range("a1:a" & Worksheets("LISTE").Range("a65536").End(xlUp).Row)
j = j + 1
UserForm1.ListView1.ListItems.Add , , LIGNE
For i = 1 To 2
UserForm1.ListView1.ListItems(j).ListSubItems.Add , , LIGNE.Offset(0, i)
Next i
Next LIGNE
End Sub
Et merci à ceux qui m'ont tant aidé
Là où je patine dans l'adaptation de macros récupérées ici ou chez Wiki,
C'est que ne parviens pas à charger directement ma Listview sans passer par une feuille.
Ni de construire une variable qui me totalisera toutes ces valeurs récupérées dans le Label1 de l'USF. Sans avoir besoin de les écrire dans une feuille (Of course), ni dans la Listview
Capricieux, le mec peut-être, mais vachement emm… sûrement.
Pensez bien que j'ai fouiné partout.
Si quelqu'un peut m'aider, d'avance Merci.
Et bonne soirée à vous.
IFFIC
Private Sub UserForm_Initialize()
Set OBJET = CreateObject("Shell.Application")
Set DOSSIER = OBJET.Namespace(ActiveWorkbook.Path)
For Each FICHIER In DOSSIER.Items
If FICHIER <> "IMPORT" Then
N = N + 1
Worksheets("LISTE").Cells(N, 1).Value = DOSSIER.GetDetailsOf(FICHIER, 0) & ".xls"
End If
Next FICHIER
Call CHARGER_LES_DONNEES
End Sub
Et dans le Module
Sub CHARGER_LES_DONNEES()
Dim i As Byte
Dim j As Integer
Dim LIGNE As Range
UserForm1.ListView1.View = 3
UserForm1.ListView1.CheckBoxes = True
UserForm1.ListView1.ColumnHeaders.Add , , Worksheets("LISTE").Cells(1, 6), 100, 0
UserForm1.ListView1.ColumnHeaders.Add , , Worksheets("LISTE").Cells(2, 6), 65, 0
Dim Cell As Range
For Each Cell In Range("A1:A4")
ActiveSheet.Cells(Cell.Row, 2).FormulaArray = "='" & ThisWorkbook.Path _
& "\[" & Cell & "]" & "FICHE" & "'!" & Cells(1, 2).Address(0, 0)
Next Cell
For Each LIGNE In Worksheets("LISTE").Range("a1:a" & Worksheets("LISTE").Range("a65536").End(xlUp).Row)
j = j + 1
UserForm1.ListView1.ListItems.Add , , LIGNE
For i = 1 To 2
UserForm1.ListView1.ListItems(j).ListSubItems.Add , , LIGNE.Offset(0, i)
Next i
Next LIGNE
End Sub
Pièces jointes
Dernière édition: