Sub GraphiqueONNC()
Dim oGraph As Object
Dim Valeurs As Variant
Dim plage As Range
Dim s As Series
With Sheets("Feuil1")
'Colonne des données "O,N,NC"
Set plage = .Range("A2:A" & .Cells(Rows.Count, 1).End(xlUp).Row)
'Sortir de la macro s'il
If plage.Rows.Count < 2 Then Exit Sub
'Mise en tableau du calcul du nombre de chaque donnée
Valeurs = Array(Application.CountIf(plage, "O"), _
Application.CountIf(plage, "N"), _
Application.CountIf(plage, "NC"))
'Obtenir le graphique
On Error Resume Next
Set oGraph = .ChartObjects("graphiqueONNC")
On Error GoTo 0
'Si le graphique n'existe pas
If oGraph Is Nothing Then
'Création du graphique
Set oGraph = .Shapes.AddChart(xlColumnClustered)
oGraph.Name = "graphiqueONNC"
'Création de la série de donnée
Set s = oGraph.Chart.SeriesCollection.NewSeries
Else
'Le graphique existe: récupérer sa série de données
Set s = oGraph.Chart.SeriesCollection(1)
End If
'Mise à jour de la série avec les données et les légendes
With s
.Values = Valeurs
.XValues = Array("O", "N", "NC")
End With
End With
End Sub