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ème
ActiveSheet.ChartObjects("sexe").Copy
où "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.
PS : mon problème est aussi décrit ici : http://www.mrexcel.com/forum/excel-q...owerpoint.html Malheureusement, pas de solution trouvée ![:(](https://www.developpez.net/forums/images/smilies/icon_sad.gif)
Voici le code en question:
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