Copier des plages de données Excel vers des sildes PPT

Bonjour à Tous,

Je vous remercie pour ce forum super actif, en tant que débutante cette plateforme m'a beaucoup aidé pour contruire mon premier code VBA.

Dans le cadre de mon projet, je dois générer des slides automatiquement, à partir d'un tableau Excel de 500 lignes.

Je dois tout d'abord récupérer l’adresse des plages tableaux que je dois copier dans les slide, puis exporter chacune de ces plages vers un slide de mon support ppt.

Exemple : Je dois copier la plage des données (A1:H18) dans slide 1, puis (A18, H23) dans slide 2.. et puisque mon taleau excel n'est pas statique, les zones que je dois récuprérer change régulièrement, (voir fichier en PJ) et puisque sur la colonnes A je stocke les titres de mes slides PPT, donc je fais une boucle sur la colonne A sui me renvoie le numéro de la cellule non vide pour limiter les slides PPt.

je sui bloquée plutôt dans la partie copie/collé de excel vers PPT, je n'arrive pas à insérer une boucle pour ce traitement, j'aimerais que mon outil copie des données excel en boucle dans plusieurs slides.

je vous mets ci dessous le code que j'ai réussit à écrire et qui ne marche mlheureusement pas.

Pourriez vous SVP m'aider à déboguer ce code. je vous remercie beaucoup par avance.

8test1.xlsm (29.21 Ko)

Pourriez-vous svp m'aider !!

Je vous remercie pour votre aide par avance

ci dessous vous trouerez le code mis à jour aujourd'hui.

====> résultat il copie des lignes pas les bonnes sur ln ppt avec 63 slide rien à voir avec ce que je veux obtenir

'Récupérer l’adresse des plages tableaux à rajouter dans les slides

Sub ChercherLignes()

Dim lastrow, numligne, lignevide As Integer

Dim PptApp As PowerPoint.Application

Set PptApp = CreateObject("Powerpoint.Application")

Dim slideNum As String

slideNum = 0

For numligne = 1 To 10

While StrComp(Sheets("CDP").Range("A" & nyumligne + 1).Value, "")

lignevide = numligne + 1

copyversppt CStr(numligne), CStr(lignevide), slideNum, PptApp

numligne = numligne + 1

Wend

slideNum = slideNum + 1

Next numligne

End Sub

'Partie 2 : Exporter chacune de ces plages vers un slide du support comop

Sub copyversppt(i As String, j As String, slideNum As String, PptApp As PowerPoint.Application)

'Dim PptApp As PowerPoint.Application

Dim PptDoc As PowerPoint.Presentation

Dim CDP As Worksheet

Dim Sh As PowerPoint.Shape

Dim PPTSlide As PowerPoint.Slide

If PptApp.Presentations.Count = 0 Then

Set PptDoc = PptApp.Presentations.Add

End If

PptApp.Visible = True

PptApp.ActivePresentation.Slides.Add PptApp.ActivePresentation.Slides.Count + 1, ppLayoutText

PptApp.ActiveWindow.View.GotoSlide PptApp.ActivePresentation.Slides.Count

Set PPTSlide = PptApp.ActivePresentation.Slides(PptApp.ActivePresentation.Slides.Count)

'Set the title of the slide the same as the title of the chart

PPTSlide.Shapes(1).TextFrame.TextRange.Text = "test title" & i

Sheets("CDP").Range("A" & i & ":H" & j).Copy

PPTSlide.Shapes.Paste

PPTSlide.Shapes.PasteSpecial

End Sub

Rechercher des sujets similaires à "copier plages donnees sildes ppt"