La gestion des graphiques par macro

MichelXld

XLDnaute Barbatruc
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 )

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
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof