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.