VBA PowerPoint : copier coller plusieurs diapos
Bonjour à tous,
J'ai fais des recherches sur internet, et j'ai trouvé un code qui permet de copier des diapos d'un fichier powerpoint fermée via vb dans une nouvelle présentation. pile poil ce que je cherchais. Et c'est une bonne nouvelle que ce soit possible.
Seulement, je n'ai pas réussi à le faire fonctionner (vous comprendrer l'échec personnel que j'ai subit quand la fênetre "debogage" n'a pas cessé d'apparaitre.... dur..... très dur.... surtout quand on a le code....).
Voilà le code :
Sub piloterPowerPoint()
Dim Ppa As PowerPoint.Application
Dim Ppp1 As PowerPoint.Presentation
Set Ppa = New PowerPoint.Application
Ppa.Visible = True
'Ouverture présentation
Set Ppp1 = Ppa.Presentations.Open(Filename:="C:\maPresentation1.ppt")
'expression.InsertFromFile(CheminPresentationSource, Index, SlideDebut, SlideFin)
'---------------------------------------------------------------
'Cet exemple montre comment insérer les diapositives 1 à 4 provenant
'de "PresentationSource.ppt" à la suite de la diapositive 2, dans
'la présentation "maPresentation1.ppt".
Ppp1.Slides.InsertFromFile "C:\PresentationSource.ppt", 2, 1, 4
End Sub
Je vous joint le fichier powerpoint, peut être vous pourrez me dire pourquoi ça ne fonctionne pas, à mon avis c'est au niveau du chemin que ça ne marche pas : il faut mettre un chemin relatif ? absolu ? en suposant que le fichier "source" et le fichier qui est "crée" soient contenus dans le même fichier que le fichier ou se trouve le code.
Aidez moi...... please...
Merci !
Salut le forum
ElectricDandy, en ajoutant le répertoire courant au nom du fichier avec ActivePresentation.Path
FileName:=ActivePresentation.Path & "\maPresentation1.pptx"
Mytå
Merci pour la réponse.
J'ai du me tromper la première fois car j'ai retapé le code, et là ça marche.
Sub InsereDiapositives()
Dim pptDoc As Presentation
Set pptDoc = Application.Presentations.Open(FileName:="D:\Documents and Settings\****\Desktop\powerpoint\maPresentation1.pptx")
pptDoc.Slides.InsertFromFile "D:\Documents and Settings\****\Desktop\powerpoint\E2G0L03.pptx", 0, 1, 1
End Sub
Seulement, j'ai encore un souci : la mise en forme du texte est conservée, seulement, la couleur de l'arrière plan ne suit pas (ou alors le modèle de présentation). Si mon texte est blanc sur fond bleu, avec ce code que j'ai, quand la diapo se colle, le texte est bien blanc, mais le fond est blanc : du coup on voit rien.
Est il possible de faire un "collage spécial" comme le propose Powerpoint quand on copie colle manuellement et qui conserve la mise en forme ? Ou alors est il possible d'insérer des slides en PDF (slides préalablement enregistré en PDF), comme ça la mise en forme est conservé. J'ai essayé, echec !
En fait, le but est de réaliser des présentations générées "automatiquement" en cochant des options : si cette case est cochée, alors on colle ces diapos là, et ainsi de suite....
Et comme ça, mes présentations pourront être faite plus rapidement.
J'utilse un "InsertFromFile", est ce qu'il existe pas un truc du genre "copiage spécial du fichier...." ?
Merci