enregistrer avec powerpoint - VB/VBA/VBS - Programmation
Marsh Posté le 30-01-2013 à 10:05:52
Salut
Call Application.ActivePresentation.SaveAs("Comparaison", ppSaveAsDefault)
Marsh Posté le 30-01-2013 à 10:13:30
Tout d'abord, merci de m'avoir répondu j'essaye ça et je te dis
Marsh Posté le 30-01-2013 à 10:19:38
Si je mets ça,
Code :
|
Un message d'erreur s'affiche :
"Propriété ou méthode non gérée par cet objet"
De même si j'enlève le "call"
J'ai essayé :
Code :
|
et ça me donne :
"Un composant ActiveX ne peut pas créer d'objet" ...
merci de m'aider ^^
Marsh Posté le 30-01-2013 à 10:23:19
minimoack a écrit : Si je mets ça,
Un message d'erreur s'affiche : De même si j'enlève le "call" J'ai essayé :
et ça me donne : merci de m'aider ^^ |
Tu peux donner le reste de ton code?
J'ai fait un bouton sur une feuille de présentation et codé l'évenement click et le fichier s'est bien enregistré sous ce nom là.
Code :
|
Call ne change rien normalement. C'est juste plus propre.
Enlève moi un doute, tu es bien sous powerpoint? Tu n'essayes pas d'enregistrer ton PPT depuis Excel par hasard?
Marsh Posté le 30-01-2013 à 10:26:17
Tiens
Code :
|
Marsh Posté le 30-01-2013 à 10:26:45
ReplyMarsh Posté le 30-01-2013 à 10:28:35
Désolée d'avoir oublié de le préciser -_-'
Comment as-tu deviné? à cause des messages d'erreur? Tu peux m'expliquer à quoi correspond ce message ActiveX?
Marsh Posté le 30-01-2013 à 10:29:56
minimoack a écrit : euh ... sur excel |
Parce que du coup c'est pas pareil, ActivePresentation ne peut être disponible que depuis l'objet Powerpoint
Et quand tu tapes sur l'objet Application, tu es sur l'objet de l'application courante, s'il ne te trouve pas ActivePresentation (ce que veut dire "Propriété ou méthode non gérée par cet objet" ) c'est que tu n'es pas sur powerpoint.
Code :
|
Essayes ça, ça devrait marcher.
Pense bien à fermer ton objet Powerpoint à la fin.
Code :
|
Marsh Posté le 30-01-2013 à 10:34:51
"Erreur d'exécution '-2147467259 (80004005)' :
Presentation (unknown member) : Powerpoint n'a pas réussi à ouvrir ou à enregistrer ce document. Vérifiez que vous disposez des autorisations de lecture et d'écriture requises et que le document n'est pas crypté"
...
Marsh Posté le 30-01-2013 à 10:36:11
Je suis obligée de le fermer?
en fait si je l'enregistre, c'est pour que l'utilisateur ne l'enregistre pas sous la présentation que j'ouvre avec nomFichier, mais j'aimerais garder la présentation ouverte
Marsh Posté le 30-01-2013 à 10:43:26
Ok, c'est juste que tu n'as pas les droits sur ton répertoire de sauvegarde par défaut.
Essayes ça:
Code :
|
Ah non t'es pas obligée de fermer, si tu veux laisser ouvert, laisses ouvert. Par contre fait attention, à chaque fois que ta macro va tourner, tu vas créer un process powerpoint en mémoire...
C'est pas important si tu le fermes manuellement à chaque fois ou que c'est pas récursif!
Marsh Posté le 30-01-2013 à 10:46:06
Qu'est-ce que l'ActiveX, quel genre d'erreur?
Je vais essayer ce que tu viens de me mettre merci
Marsh Posté le 30-01-2013 à 11:16:59
minimoack a écrit : Qu'est-ce que l'ActiveX, quel genre d'erreur? |
Wikipédia expliquera mieux que moi : http://fr.wikipedia.org/wiki/ActiveX
Ravi que ça fonctionne
Marsh Posté le 30-01-2013 à 11:22:01
L'ActiveX a l'air d'être un truc assez compliqué, je vais me pencher dessus
Merciiiiiiii !!
Marsh Posté le 30-01-2013 à 11:34:24
... j'ai un peu de mal à comprendre dans notre situation, l'erreur avec l'ActiveX...
En gros, ça veut dire que je ne peux pas utiliser "ActivePresentation", qui est une méthode de Powerpoint (supposition) dans Excel, car l'ActiveX ne le gère pas?
J'ai compris que c'était un outil qui permettait de dialoguer entre les programmes, et donc qu'il permettait (ici) dans Excel d'avoir accès à certaines méthodes de Powerpoint...
J'ai bon?
Marsh Posté le 30-01-2013 à 11:45:58
minimoack a écrit : ... j'ai un peu de mal à comprendre dans notre situation, l'erreur avec l'ActiveX... |
En fait c'est un peu compliqué, mais je vais essayer d'être un peu simpliste...
Quand tu ajoutes la référence Microsoft PowerPoint VBA te donnes l’accès à l'objet (qui n'est qu'un raccourci/alias - comme ActiveWorksheet) ActivePresentation.
Le problème est, que, dans ton cas, ActivePresentation n'existe pas DANS Excel, seulement dans ton objet PowerPoint (ppapp dans ton cas). Il pourrait exister DANS Excel dans le cas où tu aurais INCLUS ton PowerPoint dans Excel (En tant que lien OLE: http://fr.wikipedia.org/wiki/Objec [...] _Embedding )
Donc le compilateur cherche via les ActiveX (qui gère les OLE) la présence de ton ActivePresentation DANS Excel, comme elle n'existe pas (= Nothing), le composant ActiveX te renvoie une erreur.
Voila, en gros, j'espère avoir été à peu près clair
Marsh Posté le 30-01-2013 à 11:49:34
Oui c'est plus clair déjà merci
c'est vrai que c'est assez difficile à comprendre, mais j'ai saisi l'idée!
Merci de m'avoir accordé tout ce temps !!! ^^
Marsh Posté le 30-01-2013 à 11:53:31
minimoack a écrit : Oui c'est plus clair déjà merci |
C'est toujours un plaisir d'aider une collègue toulousaine
Marsh Posté le 30-01-2013 à 09:10:17
Bonjour,
Quelqu'un saurait-il quel est l'équivalent pour un powerpoint de :
Merciiii