Les graphiques

Accueil

CreationGraphique
GraphiqueDynamique
Graphique dynamique produit
Graphe à bulles avec couleurs et étiquettes
Etiquettes pour graphique nuage de points
Evénement graphe

Création d'un graphique

-Sélectionner le champ A1:C7
-Insertion/Graphique

Graphique dynamique

Le graphique s'agrandit au fur et à mesure que les mois sont ajoutés.

On veut que le graphique s'agrandisse au fur et à mesure que des mois sont ajoutés.

- GrapheDynHisto -

1 - Créer le graphe
2- Créer des noms de champs dynamqiues avec Insertion/Nom/Définir

Mois: =DECALER($A$2;0;0;NBVAL($A:$A)-1)

Ca: =DECALER($B$2;0;0;NBVAL($B:$B)-1)

3-Sélectionner le graphe:

Dans la barre de formule, remplacer les numéros de cellules par les noms Mois et CA

=SERIE(GrapheDyn!$B$1;'jb-GraphiqueDynamique.xls'!Mois;'jb-GraphiqueDynamique.xls'!ca;1)

Feuille dupliquée

Si on duplique une feuille (Graphe2 par exemple), les noms de champ dupliqués sont locaux à la feuille .

-Sélectionner le graphe:
-Dans la barre de formule:

=SERIE(Graphe2!$B$1;Graphe2!Mois;Graphe2!CaMois;1)

Seuls les mois avec un CA sont pris en considération

-Créer des noms de champs dynamiques avec Insertion/Nom/Définir


Mois4: =DECALER($B$2;;;NBVAL$B:$B)-1)
Ca4: =DECALER($A$2;;;NBVAL(!$B:$B)-1)

Cliquer sur la série et dans la barre de formule, remplace les nos de cellule par les
noms de champ dynamiques

=SERIE(GraphDyn3!$B$1;'jb-GraphiqueDynamique.xls'!Mois4;'jb-GraphiqueDynamique.xls'!CaMois4;1)

Seuls les mois avec un CA>0 sont pris en considération

-Créer des noms de champs dynamiques
Insertion/Nom/Définir
Mois
=DECALER($B$2;;;NB.SI($B$2:$B$13;"<>0"))

Insertion/Nom/Définir
Ca
=DECALER($A$2;;;NB.SI($B$2:$B$13;"<>0"))

Cliquer sur la série et dans la barre de formule

=SERIE(zz!$B$1;zz!mois;zz!ca;1)

Affiche le graphe du produit sélectionné

1-Préparer un graphique
2-Créer en G2 une liste avec Données/Validation/Liste
3- Créer des noms de champ dynamiques
Ca: =DECALER($B$2:$D$2;EQUIV($A$10;$A$2:$A$5)-1;0)
produit:=DECALER(A$2;EQUIV($G$2;$A$2:$A$5;0)-1;0)
-Dans la barre de formule du graphe:
=SERIE(produit;$B$1:$D$1;Ca;1)
4-En choisissant le produit, le graphique est adapté

GrapheDyn5

Graphique à bulles avec couleurs et étiquettes

Sur cet exemple, on analyse la croissance des CA de vendeurs.

GraphiqueBullesCouleur
GraphiqueBullesCouleur 2 graphes
GraphiqueBullesCouleurDynamique
GraphiqueBullesCouleurProjet

1-Créer le graphique
-Sélectionner B2:D7

2-Créer des noms de champ

Noms: =$A$2:$A$ 7
Croissance: =$B$2:$B$ 7
CAavant : =$C$2:$C$ 7
CA : =$D$2:$D$ 7

3 -Etiquettes & couleurs

Ce programme ajoute des étiquettes au graphe: nom + ca et colorie les bulles.

Sub Etiquettes()
  ActiveSheet.ChartObjects(1).Activate
  ActiveChart.ApplyDataLabels Type:=xlDataLabelsShowLabel
  ActiveChart.SeriesCollection(1).DataLabels.Font.Size = 7
  ActiveChart.SeriesCollection(1).DataLabels.Border.LineStyle = xlNone
  With ActiveChart.SeriesCollection(1)
    For i = 1 To .Points.Count
     .Points(i).DataLabel.Characters.Text = Range("noms")(i) & ": " & Range("ca")(i) & " kE"
     .Points(i).DataLabel.Interior.Color = Range("ca")(i).Interior.Color
     .Points(i).Interior.Color= Range("ca")(i).Interior.Color
    Next i
  End With
End Sub

Pour ajouter des images aux bulles

Graphique Bulles Images

Si les images sont situées dans un répertoire c:\pays

img = "c:\pays\" & Range("noms")(i) & ".png"
existe = Dir(img)
If existe <> "" Then ActiveChart.SeriesCollection(1).Points(i).Format.Fill.UserPicture img

Associer un libellé à chaque point d'un graphique nuage de points XY.

Ci dessous, nous ajoutons des étiquettes à un graphique nuages de points.

Sub commentaire()
  ActiveSheet.ChartObjects(1).Activate
  On Error Resume Next
  ActiveChart.SeriesCollection(1).ApplyDataLabels Type:=xlDataLabelsShowLabel
  On Error GoTo 0
  For i = 1 To ActiveChart.SeriesCollection(1).Points.Count
    ActiveChart.SeriesCollection(1).Points(i).DataLabel.Select
    Selection.Interior.ColorIndex = 36
    Selection.Font.Size = 7
    Selection.Text = ActiveSheet.Cells(i + 1, 1)
    ActiveChart.SeriesCollection(1).Points(i).MarkerBackgroundColorIndex = 4
  Next i
End Sub

ou

Sub commentaire()
On Error Resume Next
Sheets(1).ChartObjects(1).Chart.SeriesCollection(1).ApplyDataLabels Type:=xlDataLabelsShowLabel
On Error GoTo 0
For i = 1 To Sheets(1).ChartObjects(1).Chart.SeriesCollection(1).Points.Count
  Sheets(1).ChartObjects(1).Chart.SeriesCollection(1).Points(i).DataLabel.Text = Cells(i + 1, 1)
  Sheets(1).ChartObjects(1).Chart.SeriesCollection(1).Points(i).DataLabel.Font.Size = 7
Next i
End Sub

Graphes empilés et pourcentage

Sub commentaire()
  On Error Resume Next
  n = 3 ' nombre de mois
  For col = 1 To n
    Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).ApplyDataLabels Type:=xlDataLabelsShowLabel
  Next
  On Error GoTo 0
  For i = 1 To Sheets(1).ChartObjects(1).Chart.SeriesCollection(1).Points.Count
    tot = 0
    For col = 1 To n
      tot = tot + Application.Index(Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Values, i)
    Next col
    For col = 1 To n
      Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Points(i).DataLabel.Font.Size = 6
      y = Application.Index(Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Values, i) / tot
      Sheets(1).ChartObjects(1).Chart.SeriesCollection(col).Points(i).DataLabel.Text = Format(y, "0.00%")
    Next col
  Next i
End Sub

Couleurs des points

On affecte aux points les couleurs du tableau.

Sub ModifCouleur2()
  ActiveSheet.ChartObjects(1).Activate
  For i = 1 To ActiveChart.SeriesCollection(1).Points.Count
   ActiveChart.SeriesCollection(1).Points(i).MarkerBackgroundColorIndex = _
     ActiveSheet.Cells(i + 1, 1).Interior.ColorIndex
  Next i
End Sub

Evénement sur un graphe

On modifie la couleur du point séléctionné.

Private Sub Chart_Select(ByVal ElementID As Long, ByVal Arg1 As Long, ByVal Arg2 As Long)
  If ElementID = 3 And Arg2 > 0 Then
     x = Application.Index(ActiveChart.SeriesCollection(1).XValues, Arg2)
     y = Application.Index(ActiveChart.SeriesCollection(1).Values, Arg2)
     If Not Sheets(1).Cells(Arg2 + 1, 1).Comment Is Nothing Then
       Sheets(2).Shapes("monshape").TextFrame.Characters.Text = _
         "Point: " & Arg2 & " x=" & x & " y=" & y & _
          Chr(10) & Sheets(1).Cells(Arg2 + 1, 1).Comment.Text
     End If

     For i = 1 To ActiveChart.SeriesCollection(1).Points.Count
       ActiveChart.SeriesCollection(1).Points(i).Interior.ColorIndex = 36
     Next i
     ActiveChart.SeriesCollection(1).Points(Arg2).Interior.ColorIndex = 4
   End If
End Sub


 

 

 

 

 

 

 

 

 

Exemples

Graphiques 2007
Graphique dynamique
Graphe Dynamique Glissant
Graphe Nuages Etiquettes
Graphe Coloriage
Graphe Coloriage2
Graphe Coloriage3
Graphe Commentaire
Graphe Commentaire2
Graphe Commentaire Photo
Graphe Commentaire3
Graphe Pics
Graphe Croissant
Graphe Rotation
Graphique Copier Valeur
Graphique Modele
Graphe Pyramique Age
Graphe Pyramique Age2
Graphe Type Modif
Graphe Filtre
Graphe Zero
Graphe XY FiltreNumerique
Graphe Recup XY
Graphe Bulle Dynamique
Graphe Bulle Etiquettes
Graphe Bulle VBA
Graphe Fleches