Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
With Feuil1.[A1].CurrentRegion.Offset(1)
If .Rows.Count = 1 Then Exit Sub 'sécurité
.Resize(.Rows.Count - 1).Columns(1).Name = "X"
.Resize(.Rows.Count - 1).Columns(3).Name = "Y"
End With
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Not Sh.Name Like "*###-###" Then Exit Sub
Application.ScreenUpdating = False
With Feuil1
.[A1].CurrentRegion.Columns(2).AutoFilter 1, IIf(Sh.Name = .Name, "*", Sh.Name)
If Sh.Name <> .Name Then
Application.Goto Sh.[A1], True 'cadrage
.ChartObjects(1).Chart.ChartArea.Copy 'copie le graphique
Sh.Paste
Sh.[A1].Copy Sh.[A1] 'vide le presse-papiers
ActiveCell.Activate
End If
End With
Sh.ChartObjects(1).Chart.ChartTitle.Text = Sh.Name & " MHz"
With Sh.ChartObjects(1).Chart.Axes(xlCategory)
.MinimumScale = Split(Right(Sh.Name, 7), "-")(0)
.MaximumScale = Right(Sh.Name, 3)
End With
End Sub
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
'---supprime le(s) graphique(s) pour alléger---
If Sh.Name Like "###-###" And Sh.ChartObjects.Count Then Sh.ChartObjects.Delete
End Sub