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
| 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
Dim e As Integer
Dim D As Double
Dim Txt As String
If Target.Address <> "$A$1" Then
Exit Sub
Else
Set FL1 = Worksheets("Feuil1")
Derlig = FL1.Range("A1").SpecialCells(xlCellTypeLastCell).Row
Txt = Cells(1, 1)
e = InStr(1, Txt, ".")
If e > 0 Then
Mid(Txt, e, 1) = ","
D = Format(Txt, "###.#############")
Cells(Derlig + 1, 1) .Value = D
End If
End If
PremCol = 1 'Première colonne de la source de données du graphe
DerCol = 1 'Dernière colonne de la source de données
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 |