par , 14/07/2015 à 00h52 (300 Affichages)
Vous avez de nombreux fichiers à ouvrir dans votre macro, le dictionnaire peut être une solution
en inscrivant sur une feuille , les différents fichiers. L'objet link ici n'est indispensable mais il peut s’avérer intéressant si vous voulez énumérer le nom du wb, la date, ,feuille ou d'autres caractéristiques . Ici on nome une cellule "Debut" qui correspond a la premiere cellule avec le premier nom de fichier. On ajoute la référence "Microsoft scripting runtime".
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| 'dicos a partir de ma référence : fichier
Function GetPath() As Dictionary
Dim AllRange As Range
Dim MyRange As Range
Dim MyDico As New Dictionary
Dim My_Link As Link
'Mon Range
with thisworkbook.worksheets("Feuil1")
Set AllRange = .range(.Range("Debut"), .range(Debut).End(xlDown))
For Each MyRange In AllRange
'Creation du dico
If Not MyDico.Exists(MyRange.Value) Then
Set My_Link = New Link
My_Link.Link = MyRange.offset(,2).Value & "/" & MyRange.Offset(, 1).Value
My_Link.NameSheet = MyRange.Offset(, 1).Value
MyDico.Add MyRange.Value, My_Link
End If
Next MyRange
'Assignation
Set GetPath = MyDico
'Vidage
Set MyDico = Nothing
Set My_Link = Nothing
End Function |
et une classe objet Link
1 2 3
| Option Explicit
Public NameSheet as string
Public Link As String |