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
| Private Sub Worksheet_Change(ByVal Target As Range)
Dim PremCol As Integer, NoLig As Long, NoGraph As Integer
Dim Derlig As Long, PremLig As Integer
Dim FL1 As Worksheet
If Target.Address <> "$A$1" Then
Exit Sub
Else
Set FL1 = Worksheets("Feuil1")
Derlig = FL1.Range("A1").SpecialCells(xlCellTypeLastCell).Row
Cells(Derlig + 1, 1) = Cells(1, 1)
End If
'FL1.Range("A1").Select 'Ont y est déjà
PremCol = 1 'Première colonne de la source de données du graphe
DerCol = 1 'Dernière colonne de la source de données
'Idem : ont y est déjà
'If Target.Column <> PremCol And Target.Column <> DerCol Then Exit Sub
PremLig = 2 'Première ligne de la source de données
'dernière ligne renseignée de la source de données (ici de la feuille de calculs)
Derlig = FL1.Cells(Columns(PremCol).Cells.Count, PremCol).End(xlUp).Row
'Adresse de la nouvelle plage après insertion d'une ligne ou la modif d'une cellule
Plage = Range(Cells(PremLig, PremCol), Cells(Derlig, DerCol)).Address
NoGraph = ActiveSheet.ChartObjects.Count
ActiveSheet.ChartObjects(NoGraph).Activate
ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range(Plage), PlotBy _
:=xlColumns
End Sub |