Bonjour à tous,
Dans le cadre de l'un de mes travaux, j'ai besoin d'une macro allant chercher dans une liste de spreadsheet de longueur variable un nombre constant de données et de les raasembler sous forme d'un tableau dans une autre spreadsheet (toute les sheets en question appartiennent au même workbook).
Afin d'y parvenir j'ai rédigé ma macro comme suit:
Ma façon de dérouler la boucle "for" pour scruter des cellules particulières (parties de couleures différentes dans l'extrait au dessus), ne convient pas.
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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 CalibrationData_Gathering_Macro2() ' 'CalibrationData_Gathering_Macro2 Macro ' 'Touche de raccourcis du clavier : Ctrl+Shift+L ' 'Counting values ' 'Definition Dim i As Integer Dim j As Integer Dim C As integer Dim Ws As Worksheet ' 'Value of C C=0 For Each Ws In ThisWorkbook.Worksheets If Ws.Name <> "Calibration" and Ws.Name <> "Abstract" Then C=C+1 End If Next ' Range("A18").Select ActiveCell.FormulaR1C1= C+1 ' 'Information point's table ' 'Table Definition ' Worksheets("Calibration").Activate ' For j=1 To 7 Worksheets("Calibration").Range(R1C[j+1]).Value = Worksheets(3).Range(R[3+j]C18).Value Next ' For i=1 To C Worksheets("Calibration").Range(R[1+i]C1).Select ActiveCell.FormulaR1C1 = "=Worksheets(i).Name" Next ' 'Table Filling up ' For i=1 To C For j=1 To 7 Worksheets("Calibration").Range(R[i+1]C[j+1]).Select ActiveCell.FormulaR1C1 = "Worksheets(i).Range(R[j+3]C19).Value" Next Next
Connaitriez vous une meilleure syntaxe?
Merci pour votre aide ^^
Partager