Option Explicit
Option Compare Text
Sub creationGraphiqueParTabAbscisses()
Dim Cell As Range
Dim i As Byte
Dim TabAbscisses() As Variant
Dim TabOrdonnees() As Single
Dim Cible As String
'Lettre filtre contenue dans la colonne C
Cible = "A"
'Les lettres A ou B sont dans la colonne C
For Each Cell In Range("C1:C10")
If Cell = Cible Then
i = i + 1
'Redimensionne le tableau
ReDim Preserve TabAbscisses(1 To i)
ReDim Preserve TabOrdonnees(1 To i)
TabAbscisses(i) = Cell.Offset(0, -2) 'Col A
TabOrdonnees(i) = Cell.Offset(0, -1) 'Col B
End If
Next Cell
'Création graphique
Charts.Add
'Définit la localisation du graphique:
'dans la feuille de calcul Feuil1 pour cet exemple
ActiveChart.Location _
Where:=xlLocationAsObject, Name:="Feuil1"
'Ajoute une série dans le graphique
With ActiveChart
.SeriesCollection.NewSeries
.SeriesCollection(1).XValues = TabAbscisses() 'Abscisses
.SeriesCollection(1).Values = TabOrdonnees() 'Ordonnées
'Définit le type (Courbe)
.ChartType = xlLine
End With
End Sub