Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Powerpoint > VBA PowerPoint

Réponse
 
Outils de la discussion
Vieux 12/03/2008, 11h56   #1 (permalink)
Invité de passage
 
Date d'inscription: janvier 2008
Messages: 9
Par défaut Sauvegarder une présentation avec SaveAs

Salut à tous.
Voici mon problème, je veux sauvegarder une présentation avec un nom précis qui est déterminé grace à un userform lancé avec l'evenement "PresentationBeforeSave"
Et ce fichier doit etre sauvegardé sur un disque de sauvegarde placé en réseau

Ainsi, voici le code que j'utiliser pour cette manipulation sachant que "nom" représente le nom du fichier et "string" une chaine de caractère

Code :
 
st = "\\PCdonnées\Données\Mes Documents\Sauvegarde Données\" 
 
Application.ActivePresentation.SaveAs FileName:=st & nom & ".ppt"
 
Lorsque j'execute la macro, j'utilise pour cela une macro complémentaire (.ppa)

voila ce qui s'affiche à ce moment préci :



J'ai essayé plein de trucs genre enlever le ".ppt" à la fin, changer le répertoire par défaut, enlever le "application" devant "activepresentation, etc.. et rien n'a marché
Voila pourquoi je sollicite votre aide si quelqu'un à une idée..

Pour information j'ai fait exactement la meme chose avec word et cela marche très bien.

Merci d'avance
Radinu est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 12/03/2008, 18h00   #2 (permalink)
Responsable PowerPoint
 
Avatar de Philippe JOCHMANS
 
Date d'inscription: mai 2005
Localisation: Loir et Cher et Touraine
Âge: 40
Messages: 9 804
Envoyer un message via MSN à Philippe JOCHMANS
Par défaut

Bonjour

Quelques tests :

Qu'y a-t-il dans ta variable Nom ?
Enlèves le .ptt pour voir.
As-tu les droits en écriture sur le répertoire ?
Ton code étant dans une macro complémentaire, essayes de prendre un index (essayes avec 2) au lieu de ActivePresentation.

Code :
Application.Presentations(2).SaveAs ...
Je n'utilise pas de macros complémentaires, je pense qu'il y'a un soucis au sujet de ActivePresentation.

Starec
__________________
En cas de questions techniques par MP ou message visiteur
Office : :Les Cours, Les FAQs
VB : Les Cours, Les FAQs
Mes articles : ici
Me connaitre
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 13/03/2008, 10h20   #3 (permalink)
Invité de passage
 
Date d'inscription: janvier 2008
Messages: 9
Par défaut

Tout d'abord merci de ta réponse

puis, réponse à tes questions

- dans nom il y a tout simplement une chaine de caractère sans points, sans tirent, sans espace juste des caractère genre presentation1

- enlever ou mettre les ".ppt" ne change rien

- j'ai en effet les droit en écriture car j'ai meme essayé d'enregistrer dans différents répertoire (pas uniquement sur celui en réseau)

- j'ai essayé avec un index, le 2 ne marche pas car il est "out of range" j'ai donc mis le 1 et il m'a remis la meme erreur qu'au début... snif j'y ai cru


sinon, en fait j'utilise une macro complémentaire pour que la macro s'execute lorsqu'on sauvegarde (beforeSave) et je n'ai trouvé que cette manière car toutes les autres macros dans PPT ne s'executent que lors du diamporama (enfin c'est ce que j'ai constaté).

Maintenant je peut me tromper (je l'espère meme) et si quelqu'un à une idée pour faire autrement qu'en passant par une macro complémentaire, je sui preneur...

Merci encore
Radinu est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 13/03/2008, 11h25   #4 (permalink)
Responsable PowerPoint
 
Avatar de Philippe JOCHMANS
 
Date d'inscription: mai 2005
Localisation: Loir et Cher et Touraine
Âge: 40
Messages: 9 804
Envoyer un message via MSN à Philippe JOCHMANS
Par défaut

Bonjour

Peux-tu mettre en pièce jointe tes deux fichiers (zippés), je vais essayer de regarder ce soir (je ne peux au TAF). Je peux tester de la version 2002 à 2007.

Starec
__________________
En cas de questions techniques par MP ou message visiteur
Office : :Les Cours, Les FAQs
VB : Les Cours, Les FAQs
Mes articles : ici
Me connaitre
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 13/03/2008, 15h31   #5 (permalink)
Invité de passage
 
Date d'inscription: janvier 2008
Messages: 9
Par défaut

Ok je te met ca, c'est le PPT qui contient le code, il n'y a pas de mot de passe

Tu veras juste, j'ai mis plein de code en commentaire parce qu'en fait, avant de faire l'opération de sauvegarde, j'ouvre un fichier excel pour récuperer date et heure puis entrer les information (enfin tu va voir)

Par contre nouveauté depuis tout a l'heure, il veut plus créer de macro complémentaire a cause de "controles active X" donc j'ai pas pu mettre la macro complémentaire qui va avec le code modifié..... bref, j'en perd mon latin avec cette histoire

Merci pour ton aide
Fichiers attachés
Type de fichier : zip Présentation.zip (55,0 Ko, 2 affichages)
Radinu est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 13/03/2008, 17h17   #6 (permalink)
Responsable PowerPoint
 
Avatar de Philippe JOCHMANS
 
Date d'inscription: mai 2005
Localisation: Loir et Cher et Touraine
Âge: 40
Messages: 9 804
Envoyer un message via MSN à Philippe JOCHMANS
Par défaut

Bonjour

J'ai une bonne et une mauvaise nouvelle pour toi.

La bonne : J'ai remplacé ton emplacement de sauvegarde par mon bureau, j'ai rempli l'UserForm, lancé la validation, le ppt c'est parfaitement enregistré sur mon bureau.

La mauvaise : tout à marché du premier coup, donc cela signifie pour moi (comme je n'ai pas eut de bugs), c'est que cela vient d'un autre problème.

Je suis désolé, mais comme je n'ai pas eut de bug, je ne vois pas ce que je peux faire

Edit : Par contre, je n'avais qu'un seul fichier, il se peut (c'est juste une idée) c'est que PPT perd le fil avec le terme application, et la présentation, car il ne sait peut-être plus à quel sein se vouer.

Essayes en créant tes instances comme tu as fait avec Excel pour toutes les applications qui interviennent.

Starec
__________________
En cas de questions techniques par MP ou message visiteur
Office : :Les Cours, Les FAQs
VB : Les Cours, Les FAQs
Mes articles : ici
Me connaitre

Dernière modification par Philippe JOCHMANS ; 13/03/2008 à 17h41
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 14/03/2008, 09h55   #7 (permalink)
Invité de passage
 
Date d'inscription: janvier 2008
Messages: 9
Par défaut

Ok merci,
Je vais essayer de faire ca, je tiens au courant....
Radinu est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 17/03/2008, 11h26   #8 (permalink)
Invité de passage
 
Date d'inscription: janvier 2008
Messages: 9
Par défaut

Bon, après multiples tests, il s'avère que ca ne marche pas avec la macro complémentaire (je dirai presque "comme prévu"). Ca ne marche pas non plus en créant un modèle de classe "withevents" pour utiliser l'évenement BeforeSave.
Je me suis ensuite apperçu qu'en lançant "manuellement" le UserForm depuis visual basic, ca marche niquel (c'est ce que tu avais constaté) il falait donc trouver un moyen de lancer le UserForm avec une macro.
Le problème c'est que sous PPT, les macros ne se lances que lors du diaporama.
J'ai donc bidouillé un peu et personnalisé ma barre d'outils pour ajouter une macro qui lance mon UserForm juste à coté du bouton enregistrer (et avec l'icone s'il vous plait).

Et voila le résultat...




Je vais maintenant essayer d'améliorer un peu le truc
En tout cas merci vraiment pour ton aide
Radinu est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 17/03/2008, 11h39   #9 (permalink)
Responsable PowerPoint
 
Avatar de Philippe JOCHMANS
 
Date d'inscription: mai 2005
Localisation: Loir et Cher et Touraine
Âge: 40
Messages: 9 804
Envoyer un message via MSN à Philippe JOCHMANS
Par défaut

Bonjour

Citation:
Envoyé par Radinu Voir le message
Le problème c'est que sous PPT, les macros ne se lances que lors du diaporama.
Je vais maintenant essayer d'améliorer un peu le truc
En tout cas merci vraiment pour ton aide
Pour l'instant, j'arrive à la même conclusion que toi. Comme tu travailles en mode création, je penses que tu as adopté la bonne solution.

Si tu ne veux pas aller plus loin sur ce sujet dans le forum, penses à cliquer sur

Starec
__________________
En cas de questions techniques par MP ou message visiteur
Office : :Les Cours, Les FAQs
VB : Les Cours, Les FAQs
Mes articles : ici
Me connaitre
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Powerpoint > VBA PowerPoint

 
Offres d' emploi informatique sur Lesjeudis.com


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide