Bonjour à tous,

J'ai une macro qui ajoute des données pour le mois précédent.
Chaque début du mois je lance cette macro et il m'affiche mes données pour le mois précédent.

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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
Sub Button_click()
 
Dim Hidden As Integer
Hidden = 1 ' 1 = Mode normal, on cache les mois passés. 0 = mode de test, on ne cache pas.
 
Dim Ligne As Long, Mois
 
Mois = Array("January", "February", "March", "April", "May", "June", "July", "August", _
        "September", "October", "November", "December", "January")
 
' 1. Modification de la sheet Open
 
    Sheets("Open").Select
    Ligne = Application.Match("TOTAL", [B:B], 0) 'On recupere la cellule de la derniere ligne TOTAL
 
    If Hidden = 1 Then
    Cells(Ligne - 12, 2).EntireRow.Hidden = True ' On cache(hide) la ligne tout au dessus
    End If
 
    Cells(Ligne, 2).Resize(, 24).Insert xlShiftDown ' On Insert une ligne avant la ligne total sur 23 position
 
    'On copie les formules
    Cells(Ligne - 1, 1).Resize(, 24).Copy Cells(Ligne, 1)
    With Application
        Cells(Ligne, 2) = .Index(Mois, .Match(Cells(Ligne - 1, 2), Mois, 0) + 1)
    End With
 
    Cells(Ligne + 1, 3).Formula = "=SUM(C" & Ligne - 11 & ":C" & Ligne & ")"
    Cells(Ligne + 1, 5).Formula = "=SUM(E" & Ligne - 11 & ":E" & Ligne & ")"
    Cells(Ligne + 1, 7).Formula = "=SUM(G" & Ligne - 11 & ":G" & Ligne & ")"
    Cells(Ligne + 1, 9).Formula = "=SUM(I" & Ligne - 11 & ":I" & Ligne & ")"
    Cells(Ligne + 1, 11).Formula = "=SUM(K" & Ligne - 11 & ":K" & Ligne & ")"
    Cells(Ligne + 1, 13).Formula = "=SUM(M" & Ligne - 11 & ":M" & Ligne & ")"
    Cells(Ligne + 1, 15).Formula = "=SUM(O" & Ligne - 11 & ":O" & Ligne & ")"
    Cells(Ligne + 1, 17).Formula = "=SUM(Q" & Ligne - 11 & ":Q" & Ligne & ")"
    Cells(Ligne + 1, 19).Formula = "=SUM(S" & Ligne - 11 & ":S" & Ligne & ")"
    Cells(Ligne + 1, 21).Formula = "=SUM(U" & Ligne - 11 & ":U" & Ligne & ")"
 
    Cells(Ligne + 1, 24).Formula = "=X" & Ligne & ""
 
 
 
' 2. Modification de la sheet Close
 
    Sheets("Close").Select
    Ligne = Application.Match("TOTAL", [B:B], 0) 'On recupere la cellule de la derniere ligne TOTAL
 
    If Hidden = 1 Then
    Cells(Ligne - 12, 2).EntireRow.Hidden = True ' On cache(hide) la ligne tout au dessus
    End If
 
    Cells(Ligne, 2).Resize(, 24).Insert xlShiftDown ' On Insert une ligne avant la ligne total sur 23 position
 
    'On copie les formules
    Cells(Ligne - 1, 1).Resize(, 24).Copy Cells(Ligne, 1)
    With Application
        Cells(Ligne, 2) = .Index(Mois, .Match(Cells(Ligne - 1, 2), Mois, 0) + 1)
    End With
 
    Cells(Ligne + 1, 3).Formula = "=SUM(C" & Ligne - 11 & ":C" & Ligne & ")"
    Cells(Ligne + 1, 5).Formula = "=SUM(E" & Ligne - 11 & ":E" & Ligne & ")"
    Cells(Ligne + 1, 7).Formula = "=SUM(G" & Ligne - 11 & ":G" & Ligne & ")"
    Cells(Ligne + 1, 9).Formula = "=SUM(I" & Ligne - 11 & ":I" & Ligne & ")"
    Cells(Ligne + 1, 11).Formula = "=SUM(K" & Ligne - 11 & ":K" & Ligne & ")"
    Cells(Ligne + 1, 13).Formula = "=SUM(M" & Ligne - 11 & ":M" & Ligne & ")"
    Cells(Ligne + 1, 15).Formula = "=SUM(O" & Ligne - 11 & ":O" & Ligne & ")"
    Cells(Ligne + 1, 17).Formula = "=SUM(Q" & Ligne - 11 & ":Q" & Ligne & ")"
    Cells(Ligne + 1, 19).Formula = "=SUM(S" & Ligne - 11 & ":S" & Ligne & ")"
    Cells(Ligne + 1, 21).Formula = "=SUM(U" & Ligne - 11 & ":U" & Ligne & ")"
 
    Cells(Ligne + 1, 24).Formula = "=X" & Ligne & ""
 
End Sub
Comment vous pouvez le comprendre dans cette macro, il m'ajoute une ligne avant la ligne TOTAL et insert mes données pour le mois.

Tout cela est traduit également en graphique.
J'aimerai également que quand je clic sur mon bouton le graphique ce met à jour.
Pouvez-vous m'aider ?

Si besoin je peux fournir un exemple de fichier