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 
voici le code initiale :
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 :
oPowerPoint.ActiveWindow.View.Paste
mais cette instruction colle tous les page sur une seul diapo.
Si vous avez des idées!!!!!!!
Partager