Copier/coller des slides powerpoint à la suite

Bonjour a tous,

Je rencontre un petit problème : on m'a demandé de génerer un powerpoint en fonction d'option qui serait cochées ou non sur une feuille excel à l'aide de checkbox : si telle checkbox est cochée, alors on copie colle ce(s) slide(s).... etc

Comment se présente le truc :

  • un fichier excel qui contient le code
  • un fichier "hote" où seront collecté les différentes slides
  • un dossier avec à l'intérieur les présentations sources

Le code fonctionne bien (code provenant d'internet, auteur : SilkyRoad, merci), seulement, je n'arrive pas à trouver le moyen de connaitre l'index de la dernière slide qui a été collé dans le fichier "hote"

Private Sub CommandButton1_Click()

Dim Ppa As PowerPoint.Application
Dim Ppp1 As PowerPoint.Presentation

Set Ppa = New PowerPoint.Application
Ppa.Visible = True
'Ouverture présentation "hote"
Set Ppp1 = Ppa.Presentations.Open(Filename:=ActiveWorkbook.Path & "\Powerpoint_hote\maPresentation1.pptx")
'Je coller les slides voulues dans le fichier hote
Ppp1.Slides.InsertFromFile ActiveWorkbook.Path & "\BDD\2G.pptx", 1, 1, 9

'Ici je controle si l'option a été cochée ou non : si oui, on copie la les slides
If Sheets("Feuil1").Range("A16").Value = "Vrai" Then

    Ppp1.Slides.InsertFromFile ActiveWorkbook.Path & "\BDD\E2.pptx", 10, 1, 2
End If

Ppp1.Slides.InsertFromFile ActiveWorkbook.Path & "\BDD\Slide_de_fin\End.pptx", 12, 1, 1

End Sub

Je m'explique un peu mieux : le nombre de slide varie en fonction des options cochées : je peux très bien cocher une options qui aura pour effet de copier/coller 2 slides, ensuite pourravernir s'ajouter une autre option qui copie/colle 5 slides.... ce qui fait que je ne connais pas le numéro de la dernière slide collé : PROBLEMATIQUE car mon code qui permet de coller prend en compt l'index, c'est à dire le numero de la dernière slide :

exemple :

Ppp1.Slides.InsertFromFile ActiveWorkbook.Path & "\BDD_CKOM\9FB_05\E2G0M02.pptx", 10, 1, 2

Je n'ai pas trouvé d'autre code sur internet, pourtant j'ai passé pas mal de temps.....

L'idéal serait qu'elle se collent automatiquement les unes après les autres.... l'ordre des options n'a pas vraiment d'importance.

Remplacer par exemple 10 par une variable qui récupère le numero de la dernière slide collé et ainsi de suite.

Je ne sais pas si c'est possible

Sinon, pas grave, je peux toujours coller chaque diapos à l'index 1 (c'est à dire après la première diapos) et je ferais en sorte d'organiser les instructions pour la diapos "thank you for your attention" n'arrive pas au tout début

Merci pour votre aide


J'ai oublié de préciser : j'ai trouvé ce code qui permet de compter le nombre de diapos d'une présentation active depuis powerpoint, mais je n'arrive pas à adapter à mon cas : compter depuis excel

ActivePresentation.Slides.Count

Faut il que je précise le chemin d'accès vers le powerpoint hote ?

En fait, je pense avoir trouvé ce que je cherchais, et ça semble fonctionner....

Dim Ppa As PowerPoint.Application
Set Ppa = New PowerPoint.Application
PageCount = Ppa.ActivePresentation.Slides.Count

Il suffit ensuite de remplacer l'index par la variable.

Merci pour ceux qui ont lu mon post.

Je bloquais depuis pas mal de temps dessus, c'est pour ça que j'ai décidé d'écrire ce post. ça peut faire un peu genre "elle a même pas essayé de chercher avant de poser sa question", mais en fait si.... j'ai passé du temps dessus.

et là, tac ! j'ai trouvé la solution.... génial (je sais, c'était pas forcément compliqué... )

Merci et bonne journée

Rechercher des sujets similaires à "copier coller slides powerpoint suite"