Probleme application power point dans excel [Résolu]

Signaler
Messages postés
6
Date d'inscription
lundi 5 mai 2008
Statut
Membre
Dernière intervention
15 mai 2008
-
Messages postés
7337
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 avril 2021
-
Bonjour,
J'essaie de faire quelques opérations dans power point à partir de données collectées dans excel.
Cependant lorsque j'exécute la macro depuis excel ca plante des la première ligne (engras).
Quelqu'un peut-il me donner quelques conseils
Merci par avance

Dim ppt As PowerPoint.Application
Set ppt = CreateObject("PowerPoint.Application")
ppt.Visible = True ' Indispensable, sinon il ne peut pas ouvrir de fichier (Erreur)
' On crée maintenant un objet Presentation
Dim Pres As PowerPoint.Presentation
' Et on lui dit de quelle présentation il s'agit :
Set Pres = ppt.Presentations.Open(Filename:="C:\Documents and Settings\acosta_s\Desktop\CLAC\LSD\test.ppt")
' On déclare une variable de type Application PowerPoint


' On active, sélectionne et copie le Graphique Graphique 1 de Excel :
ActiveSheet.ChartObjects("Graphique 1").Activate
ActiveChart.ChartArea.Select
ActiveChart.ChartArea.Copy
' Et on le colle dans la première diapositive de la présentation :
Pres.Slides(1).Shapes.Paste
' On enregistre la présentation PowerPoint :
Pres.Save
' Et on quitte PowerPoint proprement :
ppt.Quit
Set ppt = Nothing

10 réponses

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
ssalut,

il faut cocher dans les références de VBA (menu Outils) Microsoft PowerPoint Object Library

puis modifie 2 choses dans ton code :

Dim ppt As New PowerPoint.Application ' Ajoute New

'
PLus besoin de la ligne suivante, grâce a NEW (pour ton ppt), une souvelle
instance _
se crée
automatiquement

'Set ppt =
CreateObject("PowerPoint.Application")

ppt.Visible = True ' Indispensable, sinon il ne peut pas ouvrir de fichier
(Erreur)
' On crée maintenant un objet
Presentation
Dim Pres As PowerPoint.Presentation
' Et on lui
dit de quelle présentation il s'agit :
Set Pres = ppt.Presentations.Open(Filename:="C:\Documents and
Settings\acosta_s\Desktop\CLAC\LSD\test.ppt")
' On déclare une variable de type
Application PowerPoint

' On active,
sélectionne et copie le Graphique Graphique 1 de Excel :
ActiveSheet.ChartObjects("Graphique
1").Activate
ActiveChart.ChartArea.Select
ActiveChart.ChartArea.Copy
' Et on
le colle dans la première diapositive de la présentation :
Pres.Slides(1).Shapes.Paste
' On enregistre la
présentation PowerPoint :
Pres.Save
' Et on quitte PowerPoint
proprement :
ppt.Quit
Set ppt = Nothing

~
<small>[code.aspx?ID=39466 Mortalino] ~
Colorisation automatique</small>

@++

le mystérieux chevalier,"Provençal, le gaulois"
Messages postés
6
Date d'inscription
lundi 5 mai 2008
Statut
Membre
Dernière intervention
15 mai 2008

Merci pour cette reponse qui m'aide.
En effet il fallait activer la bibliotheque powerpoint
Bonne journée
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Si la réponse de Mortalino a solutionné ton problème, pense à cliquer le bouton vert "Réponse acceptée" sur son message. Ça aide les gens à trouver des solutions plus rapidement et ça évite à d'autres de s'y arrêter pour répondre...

Bonne journée !

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
Messages postés
7337
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 avril 2021
122
Le Pivert
Bonjour Mortalino
J'ai envoyé mon dernier programme:
http://www.vbfrance.com/codes/DIAPORAMA-POWERPOINT-DEPUIS-EXCEL_49191.aspx à un ami, mais il ne peut pas importer la Library car dans Outils: Références est grisé ( inactive), je ne sais pas comment le dépanner.
Merci
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Salut LePivert,

Peut-être pourrais-tu essayer sans créer de référence ?

Avec une référence, on doit
déclarer une variable As New PowerPoint.Application

Sans référence, on doit
déclarer une variable As Object
et utiliser CreateObject("PowerPoint.Application")

Un des problèmes avec le code de steph3147 était qu'il mélangeait les 2 techniques. Il n'avait pas de référence et déclarait une variable As Powerpoint.Application et il utilisait CreateObject() tout de même...

Dans ton cas, je ne sais pas si ça pourrait régler le problème (?) Peut-être que ton ami n'a pas PowerPoint installé sur sa machine ?

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
Messages postés
7337
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 avril 2021
122
Le Pivert
Merci MPi, mais cela doit provenir du PC de mon ami car j'ai eu un commentaire sur mon programme qui m'indiquait qu'il fonctionnait très bien sur Excel 2007
@+ Le Pivert
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Le problème avec les références, c'est qu'elles ne sont pas compatibles d'une version à une autre. Si tu crées ton programme sous 2000, tu devras recréer la référence sous 2003 ou autres. Mais ça, je pense que tu le savais déjà...

Peut-être que le niveau de sécurité d'Excel chez ton ami est trop élevé. Demande-lui de voir dans Outils / Macros / Sécurité

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
Messages postés
7337
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 avril 2021
122
Le problème est qu'il ne peut pas accéder aux références, elles sont grisées (inactives)
Le Pivert
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Regarde tout de même le niveau de sécurité et qu'il le baisse si nécessaire.
Dis-moi si ça règle ou non le problème de "grisage".

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
Messages postés
7337
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 avril 2021
122
Merci MPi,
 le problème est résolu cela venait du package Office qu'il a réinstallé. Il ne reconnaissait pas la bibliothèque. Avant je lui avais envoyé d'autres programmes qui ne nécessitaient pas de bibliothèque et ils fonctionnaient très bien.
@+
Le Pivert