Techniques de graphiques

L

lousch

Guest
Bonjour à tous,

Je suis retrouve, avec mes connaissances limitées en excel, empêtré dans des tonnes de données xls que je dois traiter. Je dois notamment faire des centaines de graphiques et les aligner sur powerpoint (je n'en vois pas la fin: le temps de les coller, faire attention qu'ils soient bien alignés, même police, même taille, etc...)

La question que je me pose aujourd'hui, c'est: est-il possible de sélectionner plusieurs tableaux de données en une fois pour faire apparaître 1 graphique qui contiendrait en fait autant de sous-graphiques que de tableaux? (voir fichier attaché)

Egalement, est-il tout simplement possible de faire apparaître une bête série de nombre dans un graphique (voir également fichier attaché)? Par exemple, faire apparaître au dessus d'une "barre" qui contient quatre couleurs le total en % des 2 premières couleurs?

Je ne suis pas le plus doué pour les explications, d'où le fichier attaché, et merci à l'avance pour vos précieux conseils.

lousch
 

Pièces jointes

  • 3GraphiquesEn1.zip
    22.2 KB · Affichages: 31
C

Celeda

Guest
Bonjour le Forum,


Je tente pour la première question (j'ai pas le temps d'ouvrir ton fichier) :

Dans ce fil, Lien supprimé, j'avais rencontré un problème similaire. Dans mon cas, je devais aligner trois
graphs dans une page ppt.

Michel avait fait une macro, et voici la même améliorée pour l'occasion pour éviter les problèmes de chemin :



Sub insertionGraphiqueDansPowerPoint_V02()
'necessite d'activer la reference Microsoft Powerpoint Object Library
Dim PPT As PowerPoint.Application
Dim PptDoc As PowerPoint.Presentation
Dim NbShpe As Byte, i As Byte
Dim EspaceH As Single, Largeur As Single, Hauteur As Single, posV As Single

Set PPT = CreateObject("Powerpoint.Application") 'creation session PowerPoint
PPT.Visible = True
Set PptDoc = PPT.Presentations.Open(ThisWorkbook.Path & "\Tableau0501.ppt") 'ouverture fichier ppt
Largeur = 350 'largeur shapes collé dans powerpoint
Hauteur = 300 'hauteur shapes collé dans powerpoint
EspaceH = (PptDoc.PageSetup.SlideWidth - (Largeur * 2)) / 3
posV = 50 'position verticale dans le slide

For i = 1 To 3 'boucle sur les 3 premiers graphiques de la feuille active
ActiveSheet.ChartObjects(i).Copy 'copie du Graphique
PptDoc.Slides(1).Shapes.Paste 'collage dans le Slide du document Power Point

'compte le nombre de shapes dans le slide
'le dernier objet inséré correspond à l'index le plus élevé
NbShpe = PptDoc.Slides(1).Shapes.Count

If i < 3 Then 'personnalisation des 2 premiers collages
With PptDoc.Slides(1).Shapes(NbShpe)
.Name = "monGraph" & i 'personnalise le nom de l'image inseree
.Left = EspaceH + ((Largeur + EspaceH) * (i - 1))
.Top = posV 'position verticale dans le slide
.Height = Hauteur 'hauteur image
.Width = Largeur 'largeur image
End With

Else 'personnalisation du 3eme collage

With PptDoc.Slides(1).Shapes(NbShpe)
.Name = "monGraph" & i 'personnalise le nom de l'image inseree
.Left = (PptDoc.PageSetup.SlideWidth - Largeur) / 2
.Top = Hauteur 'position verticale dans le slide
.Height = Hauteur 'hauteur image
.Width = Largeur 'largeur image
End With

End If

Next i

'PptDoc.Save 'sauvegarder les modification
'PptDoc.Close 'fermer le document
'PPT.Quit 'fer l'application powerPoint
End Sub

Il faut que les deux documents soient bien placés dans le même repertoire. Cette macro, à placer dans un module (Alt F11), fonctionne parfaitement sur XP; ne pas oublier de cocher aussi dans Références, tel que mentionné en haut de la procédure. Naturellement, il faut l'adapter à tes besoins :
nom du fichier à changer et nombres de graphiques dans un feuille excel à téléporter dans ppt.
Je rencontre néanmoins quelques difficultés avec mon pc bureau, et je suis en période intensive de tests!!! (excel 2000 - vraisemblablement à cause de ppt).

Celeda
 
C

Celeda

Guest
Bonjour,

Bon on reprend :

première question pour les valeurs à côté du graph :

j'ai fait une photo "dynamique" de tes valeurs
que j'ai collé sans frame à côté de tes barres
il faut jouer un peu avec l'image pour qu'elle
s'ajuste; avantage de cette technique dite dynamique,
si tu changes tes valeurs, l'image change toute seule.
(ceci dit, j'ai bien apprécié ta technique de graph)

deuxième question : et je reviens à la macro
de Michel qui je confirme, fonctionne impec!!!!!!
je te l'ai placée dans un module mais attention
bien activer cette référence ppt sinon cela bug.
Par contre, j'ai testé et il faudra ajuster dans la
procédure de mimi, les largeur et les hauteurs
sinon tu te retrouves avec un bazar dans la slide
de ppt. Je me retrouvais comme toi avec trois graphs
à placer dans ppt, deux un haut un au milieu.
Mais ils étaient plus allongés et moins hauts.

Par contre je ne sais pas te répondre pour placer
les trois graphs dans une même feuille et en faire
un seul graph. Je passe mon tour.Désolée.

Celeda
 

Pièces jointes

  • Graph3.zip
    33 KB · Affichages: 37
L

lousch

Guest
Chère Celeda,

Juste pour te dire un grand merci en attendant car je crois que je vais mettre quelques jours à digérer convenablement les explications (et les lignes de commandes).
Ca ne fait que depuis deux jours que je sais comment enregistrer une macro simple, alors je vais devoir faire beaucoup d'essais (et d'erreurs).
Je dois faire des faire des recherches tout d'abord pour savoir ce que veut dire "activer la reference Microsoft Powerpoint Object Library"; puis copier coller les lignes de commande inscrites dans ton email dans Visual Basic, c'est en gros la démarche?

A bientôt. Je ferai savoir dès que ça marchera.

lousch
 
C

Celeda

Guest
Bonjour,

Pour la : Microsoft Powerpoint Object Library

voir dans le fichier joint un imprim ecran
en faisant AltF11, tu tombes dans vbe et suivre ensuite

Quant aux lignes de codes, dans le fichier joint, tu vas voir dans le module :
je serai incapable de te répondre pour les explications vu mes connaissances mais rien ne t'empêche de le décortiquer et d'apprendre; d'ailleurs je crois plus aux méthodes d'apprentissage par "beaucoup d'essais et d'erreurs" qui nous font progresser et surtout comprendre le problème.
J'entends par là, pour des gens qui naturellement sont autodidactes.




Celeda

ps: par contre pour cette maudite référence, sur mon pc bureau, malgré le fait que je l'ai cochée, elle ne reste pas!!!! il faut à chaque fois que je la réactive et je ne comprends pas pourquoi alors que sur mon pc home (xp et xp) elle persiste et reste !!!
 

Pièces jointes

  • Reference.zip
    37.1 KB · Affichages: 40
  • Reference.zip
    37.1 KB · Affichages: 42
  • Reference.zip
    37.1 KB · Affichages: 43

Discussions similaires

Statistiques des forums

Discussions
312 386
Messages
2 087 854
Membres
103 669
dernier inscrit
Anne Sicard