Automatisation de la création de présentation Powerpoint par VBA Excel
salut,
j'ai trouver un programme pour générer une présentation Power point via vba excel ça marche très bien mais je veux que le copier/coller garde la mise en forme source et pas copier/coller comme des images, je trouver la solution mais je n'arrive pas à l'adapter si vous pouvez m'aidez :roll:
voici le code initiale :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| Sub exporterVersPowerpoint()
'recupérer les pages
Dim plages As String: plages = ""
With ActiveSheet.HPageBreaks
If .Count = 0 Then
plages = ActiveSheet.userange.Address
Else
debut = 1
For i = 1 To .Count
lignSaut = .Item(i).Location.Row
dernierColonne = ActiveSheet.UsedRange.Columns.Count
plages = plages & Range(ActiveSheet.Cells(debut, 1), ActiveSheet.Cells(lignSaut - 1, dernierColonne)).Address & "-"
debut = lignSaut
Next
lingFin = ActiveSheet.UsedRange.Rows.Count
plages = plages & Range(ActiveSheet.Cells(debut, 1), ActiveSheet.Cells(lingFin, dernierColonne)).Address & "-"
plages = Left(plages, Len(plages) - 1)
MsgBox plages
End If
End With
'exporter les pages
Dim oPowerPoint As Object
Set oPowerPoint = CreateObject("Powerpoint.Application")
Dim oDiaporama As Object
Set oDiaporama = oPowerPoint.Presentations.Add
idDiapo = 1
For Each plage In Split(plages, "-")
Dim oDiapositive As Object
Set oDiapositive = oDiaporama.Slides.Add(Index:=idDiapo, Layout:=ppLayoutBlank)
ActiveSheet.Range(plage).Copy
oDiaporama.Slides(idDiapo).Shapes.PasteSpecial DataType:=ppPasteEnhancedMetafile
idDiapo = idDiapo + 1
Next
End Sub |
la solution est d'utiliser :
Code:
oPowerPoint.ActiveWindow.View.Paste
mais cette instruction colle tous les page sur une seul diapo.
Si vous avez des idées!!!!!!!