bonjour
vous trouverez ci joint quelques exemples sur la gestion des graphiques par macro
Lister tous les graphiques d'un classeur
Le lien sur le forum XLD
Lien supprimé
Le fichier zippé
Lien supprimé
Changer les etiquettes dans un graphique en nuage de points
Le lien sur le forum XLD
Lien supprimé
Le fichier zippé
Lien supprimé
Un autre exemple
Le lien sur le forum XLD
Lien supprimé
Le fichier zippé
Lien supprimé
Changer la position et la taille des graphiques dans une feuille
Le lien sur le forum XLD
Lien supprimé
Le fichier zippé
Lien supprimé
Adapter la position d'un graphique par rapports aux sauts de page
Le lien sur le forum XLD
Lien supprimé
Le fichier zippé
Lien supprimé
Gerer plusieurs courbes
Le lien sur le forum XLD
Lien supprimé
Le fichier zippé
Lien supprimé
Afficher la plage de données en abscisses
Sub plageDonneesAbscisses()
Dim Cible As String, Debut As String
ActiveSheet.ChartObjects('graphique 1').Activate'adapter selon nom graphique
Cible = activeChart.SeriesCollection(1).Formula
Debut = Right(Cible, Len(Cible) - inStr(1, Cible, ','))
MsgBox 'La plage en Abscisses est : ' & Left(Debut, inStr(1, Debut, ',') - 1)
End Sub
Récupérer la valeur du 2eme point , dans la 1ere serie d'un graphique nommé 'Graphique 1'
Sub pointsGraph()
Dim Valeur As Single
With Sheets('Feuil1').ChartObjects('Graphique 1').Chart.SeriesCollection(1).Points(2)
.HasDataLabel = True 'affiche la valeur du point dans le graphique
Valeur = .DataLabel.Characters.Text 'recupere la valeur du point dans une variable
.HasDataLabel = False 'ne plus afficher la valeur du point
End With
MsgBox Valeur
End Sub
Se déplacer dans la feuille et avoir le graphique toujours apparent
Le lien sur le forum XLD
Lien supprimé
Le fichier zippé
Lien supprimé
Supprimer un graphique
Sub supprimeGraphique()
Dim graph As Object
Set graph = ActiveSheet.ChartObjects(1)
graph.Delete
Set graph = Nothing
End Sub
Supprimer tous les graphiques de la feuille active
ActiveSheet.ChartObjects.Delete
Adapter la position d'un graphique sur la plage de Cellules A20:G40
Sub positionGraph()
With ActiveSheet.ChartObjects(1)
.Left = Range('A20:G40').Left
.Top = Range('A20:G40').Top
.Width = Range('A20:G40').Width
.Height = Range('A20:G40').Height
End With
End Sub
Choisir la courbe à afficher depuis un combobox
Le lien sur le forum XLD
Lien supprimé
Le fichier zippé
Lien supprimé
Choisir dans une Listbox parmi plusieurs courbes à afficher
une option permet de préciser la période d'affichage des données
Le fichier zippé
Lien supprimé
Compter le nombre de graphiques dans la feuille active
MsgBox ActiveSheet.ChartObjects.Count
Créer un graphique et le renommer
Le lien sur le forum XLD
Lien supprimé
Utiliser un Array (tableau) pour définir les différents points de la 1ere série du graphique actif
Activechart.seriesCollection(1).XValues = Array(5, 7,9,11,13,15)
Construire un graphique avec des series a la fois en Courbe et en colonnes
Si tu as par exemple plusieurs series de données au format courbe dans un graph , tu peux effectuer un clic droit sur une de ces series , dans le menu déroulant choisis
l'option type de graphique , et tu peux alors sélectionner le format souhaité : colonne
Exemple pour affecter par macro un format particulier( Line) à la 2eme serie d'un graphique :
ActiveChart.SeriesCollection(2).ChartType = xlLine
Modifier les couleurs d'un graphique en secteur , en fonction des étiquettes
Le lien sur le forum XLD
Lien supprimé
Exporter les graphiques au format Gif et les donnees de chaque série dans des fichiers texte
cette procédure permet d'enregistrer dans le meme repertoire que le classeur :
chaque graphique au format .gif et chaque serie de donnees dans un fichier texte
( j'ai pris comme hypothese que chaque graphique ne contenait qu'une serie de données )
Copier un graphique dans une autre feuille et lui attribuer le meme nom
Le lien sur le forum XLD
Lien supprimé
Animer un graphique
Le lien sur le forum XLD
Lien supprimé
La démo de Didier myDearFriend
Lien supprimé
La démo de Jean Marie
Lien supprimé
Savoir si un Graphique est issu d'un TCD
( renvoie Vrai ou Faux )
MsgBox Sheets('Graph1').HasPivotFields
Utiliser les ChartSpaces pour insérer des graphiques dans un Userform
Une demo de zon :
Le lien sur le forum
Lien supprimé
Le fichier zippé
Lien supprimé
Une démo de Myta :
Le lien sur le forum
Lien supprimé
Le fichier zippé
Lien supprimé
bonne journée
MichelXld
vous trouverez ci joint quelques exemples sur la gestion des graphiques par macro
Lister tous les graphiques d'un classeur
Le lien sur le forum XLD
Lien supprimé
Le fichier zippé
Lien supprimé
Changer les etiquettes dans un graphique en nuage de points
Le lien sur le forum XLD
Lien supprimé
Le fichier zippé
Lien supprimé
Un autre exemple
Le lien sur le forum XLD
Lien supprimé
Le fichier zippé
Lien supprimé
Changer la position et la taille des graphiques dans une feuille
Le lien sur le forum XLD
Lien supprimé
Le fichier zippé
Lien supprimé
Adapter la position d'un graphique par rapports aux sauts de page
Le lien sur le forum XLD
Lien supprimé
Le fichier zippé
Lien supprimé
Gerer plusieurs courbes
Le lien sur le forum XLD
Lien supprimé
Le fichier zippé
Lien supprimé
Afficher la plage de données en abscisses
Sub plageDonneesAbscisses()
Dim Cible As String, Debut As String
ActiveSheet.ChartObjects('graphique 1').Activate'adapter selon nom graphique
Cible = activeChart.SeriesCollection(1).Formula
Debut = Right(Cible, Len(Cible) - inStr(1, Cible, ','))
MsgBox 'La plage en Abscisses est : ' & Left(Debut, inStr(1, Debut, ',') - 1)
End Sub
Récupérer la valeur du 2eme point , dans la 1ere serie d'un graphique nommé 'Graphique 1'
Sub pointsGraph()
Dim Valeur As Single
With Sheets('Feuil1').ChartObjects('Graphique 1').Chart.SeriesCollection(1).Points(2)
.HasDataLabel = True 'affiche la valeur du point dans le graphique
Valeur = .DataLabel.Characters.Text 'recupere la valeur du point dans une variable
.HasDataLabel = False 'ne plus afficher la valeur du point
End With
MsgBox Valeur
End Sub
Se déplacer dans la feuille et avoir le graphique toujours apparent
Le lien sur le forum XLD
Lien supprimé
Le fichier zippé
Lien supprimé
Supprimer un graphique
Sub supprimeGraphique()
Dim graph As Object
Set graph = ActiveSheet.ChartObjects(1)
graph.Delete
Set graph = Nothing
End Sub
Supprimer tous les graphiques de la feuille active
ActiveSheet.ChartObjects.Delete
Adapter la position d'un graphique sur la plage de Cellules A20:G40
Sub positionGraph()
With ActiveSheet.ChartObjects(1)
.Left = Range('A20:G40').Left
.Top = Range('A20:G40').Top
.Width = Range('A20:G40').Width
.Height = Range('A20:G40').Height
End With
End Sub
Choisir la courbe à afficher depuis un combobox
Le lien sur le forum XLD
Lien supprimé
Le fichier zippé
Lien supprimé
Choisir dans une Listbox parmi plusieurs courbes à afficher
une option permet de préciser la période d'affichage des données
Le fichier zippé
Lien supprimé
Compter le nombre de graphiques dans la feuille active
MsgBox ActiveSheet.ChartObjects.Count
Créer un graphique et le renommer
Le lien sur le forum XLD
Lien supprimé
Utiliser un Array (tableau) pour définir les différents points de la 1ere série du graphique actif
Activechart.seriesCollection(1).XValues = Array(5, 7,9,11,13,15)
Construire un graphique avec des series a la fois en Courbe et en colonnes
Si tu as par exemple plusieurs series de données au format courbe dans un graph , tu peux effectuer un clic droit sur une de ces series , dans le menu déroulant choisis
l'option type de graphique , et tu peux alors sélectionner le format souhaité : colonne
Exemple pour affecter par macro un format particulier( Line) à la 2eme serie d'un graphique :
ActiveChart.SeriesCollection(2).ChartType = xlLine
Modifier les couleurs d'un graphique en secteur , en fonction des étiquettes
Le lien sur le forum XLD
Lien supprimé
Exporter les graphiques au format Gif et les donnees de chaque série dans des fichiers texte
cette procédure permet d'enregistrer dans le meme repertoire que le classeur :
chaque graphique au format .gif et chaque serie de donnees dans un fichier texte
( j'ai pris comme hypothese que chaque graphique ne contenait qu'une serie de données )
Code:
Sub extractionGraphiquesEtDonnees()
'http://www.excel-downloads.com/component/option,com_simpleboard/Itemid,40/func,view/catid,2/id,3094/#3094
Dim Cible As ChartObject
Dim i As Byte
Dim valeur As Double
For Each Cible In Feuil1.ChartObjects
Cible.Chart.Export Filename:=ThisWorkbook.Path & '\\' & Cible.Name _
& '.gif', filtername:='GIF' 'export au format gif
Open ThisWorkbook.Path & '\\' & Cible.Name & '.txt' For Append As #1
For i = 1 To Cible.Chart.SeriesCollection(1).Points.Count
With Cible.Chart.SeriesCollection(1).Points(i)
.HasDataLabel = True 'affiche la valeur du point dans le graphique
valeur = .DataLabel.Characters.Text 'recupere la valeur du point dans une variable
.HasDataLabel = False 'ne plus afficher la valeur du point
End With
Print #1, valeur 'enregistrement dans fichier texte
Next i
Close #1
Next
End Sub
Copier un graphique dans une autre feuille et lui attribuer le meme nom
Le lien sur le forum XLD
Lien supprimé
Animer un graphique
Le lien sur le forum XLD
Lien supprimé
La démo de Didier myDearFriend
Lien supprimé
La démo de Jean Marie
Lien supprimé
Savoir si un Graphique est issu d'un TCD
( renvoie Vrai ou Faux )
MsgBox Sheets('Graph1').HasPivotFields
Utiliser les ChartSpaces pour insérer des graphiques dans un Userform
Une demo de zon :
Le lien sur le forum
Lien supprimé
Le fichier zippé
Lien supprimé
Une démo de Myta :
Le lien sur le forum
Lien supprimé
Le fichier zippé
Lien supprimé
bonne journée
MichelXld