Salut,
J'ai un problème très particulier que je n'arrive pas à résoudre et c'est un vrai casse-tête pour moi
Je dispose d'une feuille excel composée de 16 graphiques (tous nommés), et je cherche à exporter tous ces graphiques vers un power point via un code VBA.
le problème: les exports marchent une fois sur deux. Et ce n'est pas forcément sur le même graphique que le problème a lieu. Un coup j'aurai un power point avec tous mes graphiques un autre j'en aurai seulement 2 ou 3.
C'est plus précisément, l’exécution de cette ligne qui pose problèmeoù "sexe" est le nom du graphique. L'erreur affichée lors de l'execution du code est : "erreur d'execution 1004. erreur definie par l'application ou par l'objet". Si j'exécute le code pas à pas, il me faut cliquer avec la souris sur n'importe quelle cellule de la feuille pour que ça marche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part ActiveSheet.ChartObjects("sexe").Copy
PS : mon problème est aussi décrit ici : http://www.mrexcel.com/forum/excel-q...owerpoint.html Malheureusement, pas de solution trouvée
Voici le code en question:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 Sub ModifierPresentationExistante() Dim date_jour As String date_jour = InputBox("Nom du fichier") Set PptApp = CreateObject("Powerpoint.Application") PptApp.Visible = True Set PptDoc = PptApp.Presentations.Open("C:\Users\document\excel\presentation.pptx") Worksheets("Resultat").Activate With PptDoc 'Sexe Worksheets("Resultat").Activate ActiveSheet.ChartObjects("sexe").Copy 'Effectue un collage dans la 2eme diapositive .Slides(2).Shapes.PasteSpecial ppPasteMetafilePicture With .Slides(2).Shapes(.Slides(2).Shapes.Count) '.Name = "monTableau" 'Renomme l'objet collé .Left = 85 'position horizontale dans le slide .Top = 235 'position verticale dans le slide .Height = 225 'hauteur .Width = 650 'largeur End With 'age Worksheets("Resultat").Activate ActiveSheet.ChartObjects("age").Copy 'Effectue un collage dans la 2eme diapositive .Slides(3).Shapes.PasteSpecial ppPasteMetafilePicture With .Slides(3).Shapes(.Slides(3).Shapes.Count) '.Name = "monTableau" 'Renomme l'objet collé .Left = 325 'position horizontale dans le slide .Top = 220 'position verticale dans le slide .Height = 300 'hauteur .Width = 400 'largeur End With End With PptDoc.SaveAs Filename:="C:\Users\document\excel\presentation_" & date_jour & ".pptx" 'PptDoc.Close 'PptApp.Quit End Sub
Partager