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
 

Sylvie

XLDnaute Accro
Bonjour Michel, Bonjour Jean Marie, Bonjour Dan, bonjour le forum

Je joins ma voix Michel à celles des deux brillants intervenants qui m'ont précédé, pour te remercier à mon tour.
Je m'empresse d'aller copier ce lien dans ma base de données construite par Dan ;)


Bises à vous trois
et Bon Dimanche à tous
 

Tibo

XLDnaute Barbatruc
Salut Michel et à tous les Xldiens du dimanche matin,

Ton travail de recensement est effectivement impressionnant.

Décidément, Je vais faire un lien sur MichelXld.hlp pour remplacer l'aide de XL2000.

Bravo et merci.

Bon dimanche à tous
 

jeanpierre

Nous a quitté
Repose en paix
Bonjour Michel, Bonjour à tous, Jean-Marie, Dan, Sylvie, Tibo, Le Forum,

Que dire de plus ? Sinon que c'est un excellent travail qui va encore nous simplifier la vie.
Sachant que faire un tel recensement est loin d'être évident.

Félicitations et de grands Mercis.

Bon dimanche à tous.

Jean-Pierre
 

JJM

XLDnaute Occasionnel
Bonjour MichelXld, le Forum,

Merci beaucoup pour ce cours parfaitement maîtrisé. Comme toujours c'est complet et très bien fait.
Concernant les exemples en fichiers zippés, j'ai un message d'erreur pour le second : 'Your data range is not valid'. Je vais le décortiquer pour trouver le problème.
Encore merci, c'est vraiment sympa.
 

Celeda

XLDnaute Barbatruc
Bonjour,

et dire que j'ai failli louper ton fil, mimi!!

Opération Séduction des Gaphs,

pure merveille que ce fil qui prouve que l'on a affaire à un grand tombeur de fils!!!!! (ah non je n'ai pas dit Don Juan)


Merci


Celeda :kiss: :kiss: :kiss: :kiss:
 

SKOBLAR

XLDnaute Junior
Re : La gestion des graphiques par macro

Bonjour,

voici le message d'erreur que je rencontre lorsque j'essaie d'accéder à ces precieux "tutorials sur les graphique par VBA".

Vous n'êtes pas autorisé(e) à accéder à cette ressource.
Vous devez vous connecter.
Vous devez vous identifier.

Pourtant je suis connecté sous mon login, quelqu'un peut m'aider ?

Skob
 

Celeda

XLDnaute Barbatruc
Re : La gestion des graphiques par macro

Bonjour,

Oui exact!! les liens sont devenus non opérationnels et ce en raison de quelques modifications du forum en ce moment : on a perdu le fil!!!

mais pas la tête

alouette

pirouette

donc en attendant que David arrive à remettre tout cela,
on respire, et on patiente mais mais mais

si tu as besoin de quelque chose en particulier, fais la demande
car entre Mimi et tout ce petit monde qui s'est crée des historiques
de fils, on devrait bien trouver de quoi te répondre.......:p

Celeda:)
 

ve-

XLDnaute Nouveau
Re : La gestion des graphiques par macro

Bonjour à tous.
Je me permets de déterrer ce vieux topic (merci la fonction recherche...), mais les liens n'existent plus...
Or j'étais intéressée par :
- renommer un graphique quand on le colle dans un autre classeur,
- sélectionner TOUS les graphiques de ma feuille,
- les mettre tous au même format
- les aligner en colonnes et en lignes

C'est dommage que ces liens n'existent plus...
ou alors, ils sont ailleurs...

Si quelqu'un les retrouve, un grand merci !!!

En attendant, bon we !
Je reviendrais voir mardi.

vé-
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 069
Messages
2 085 037
Membres
102 762
dernier inscrit
Ucef