Bonjour à tous,
Je mets en place une macro qui je pense peut être optimisée. Pour ceci, j'aimerai savoir comment je peux faire pour regrouper plusieurs range en un seul afin de renseigner directement une variable tableau.
Actuellement je fais ceci:
' refaire de même avec une autre feuille etc...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 j = 0 'variable clé Set WB_a = Workbook("Archives.xls") With WB_a.Worksheets("Liste T&F") DL_a = .Columns(1).Find("*", , , , xlByRows, xlPrevious).Row 'Calcul de la dernière ligne Set RG_a = .Range(.Cells(3, 1), .Cells(DL_a, 1)) 'définit le range de la feuille End With montab() = RG_a.Value 'ajoute le range au tableau Set MyDico = CreateObject("Scripting.Dictionary") For i = LBound(montab, 1) To UBound(montab, 1) MyDico.Add j, Trim(CStr(montab(i, 1))) 'ajoute les données de montab au dico j = j + 1 Next i
J'ai 4 feuilles dont le range est identique autrement dis rien ne cahgne dans le code à part le nom de la feuille soit:
Le but est donc de renseigner directement mon dictionnaire avec toutes les données sans devoir recopier ce code 4 fois (car j'ai 4 feuilles différentes) juste en changeant le nom de la feuille
Code : Sélectionner tout - Visualiser dans une fenêtre à part With WB_a.Worksheets("Liste T&F")
Merci d'avance de votre aide![]()
Partager