Bonjour à tous,
Je souhaiterais élaborer une macro sur excel pour une feuille de temps (que je joindrai en PJ si nécessaire).
La feuille de temps se décompose ainsi : une feuille excel par mois (avec le détail des temps par jour et un total) et une feuille total (regroupant les totaux de chaque mois et le total général pour l'année). L'idée étant de copier la colonne total de chaque feuille mois et de la copier dans la colonne correspondante dans la feuille total.
J'ai donc pensé à utiliser un tableau pour y copier toutes ces valeurs (je débute en VBA et l'erreur d’exécution 1004 définie par l'objet ou l'application qui est annoncée est loin d'être la seule à mon avis!) :
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 Public plage As Range Sub feuille_temps() Dim tableau_temps() As Variant ReDim tableau_temps(56, 12) Dim column_tableau As Integer For Each sheet In ThisWorkbook.Worksheets If sheet.Name <> "total" Then sheet.Activate Range("AH7:AH52").Select 'plage AH7:AH52 est la plage total d'une feuille mois Selection.Copy Set plage = Selection row_tableau = row_tableau + 1 column_tableau = column_tableau + 1 tableau_temps = tableau(sheet, tableau_temps, row_tableau) End If Next sheet Worksheets("total").Activate Range("C6").Select Range(Selection, Selection.Offset(55, 11)).Value = tableau_temps End Sub Function tableau(sheet, tableau_temps, row_tableau) tableau_temps(row_tableau, column_tableau) = sheet.Name For i = 2 To 54 tableau_temps(row_tableau(i), column_tableau) = "plage" Next i End Function
Quelqu'un peut-il m'aider à corriger cette erreur 1004 ? Par ailleurs, c'est aussi la première fois que j'utilise un tableau et une sub function, je reste sceptique quant à la syntaxe que j'ai proposé...
D'avance merci à tous.
Partager