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
|
Sub CreerGraph()
Dim LigneDebut As Long
Dim LigneFin As Long
'Feuille ou se trouve les données
Dim FeuilleDonnees As Worksheet
'Feuille ou sera le graph
Dim FeuilleGraph As Worksheet
Set FeuilleDonnees = ActiveSheet
'demande de la ligne de debut
LigneDebut = InputBox("Saisir le début de la plage")
'tant que la saisie n'est pas -1 le programe boucle
While LigneDebut <> -1
'demande de la ligne de fin
LigneFin = InputBox("Saisir la fin de la plage")
'si la feuille où va etre le graphe existe la prend comme repère la créé sinon
If Feuille_Existe("Graphique de " & FeuilleDonnees.Name) Then
Set FeuilleGraph = Worksheets("Graphique de " & FeuilleDonnees.Name)
Else
Sheets.Add After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = "Graphique de " & FeuilleDonnees.Name
Set FeuilleGraph = Worksheets("Graphique de " & FeuilleDonnees.Name)
End If
'création du graph
FeuilleGraph.Shapes.AddChart.Select
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source:=Range(FeuilleDonnees.Cells(LigneDebut, 3), FeuilleDonnees.Cells(LigneFin, 5))
'demande de la ligne de debut pour le prochain graph
LigneDebut = InputBox("Saisir le début de la plage")
Wend
End Sub
Function Feuille_Existe(ByVal Nom_Feuille As String) As Boolean
Dim Feuille As Excel.Worksheet
On Error GoTo Feuille_Absente_Error
Set Feuille = ActiveWorkbook.Worksheets(Nom_Feuille)
On Error GoTo 0
Feuille_Existe = True
Exit Function
Feuille_Absente_Error:
Feuille_Existe = False
End Function |
Partager