Bonjour à tous,
J'ai trouvé un super code pour générer un powerpoint à partir d'un fichier excel
Le hic c'est que je souhaite qu'il ne genere que 2 sheets et non tout le document,
Quel est la condition a écrire dans le code ci-dessous pour que le système ne gérére que le powerpoint pour la sheet dashbord et graph ?
Mon bouton pour lancer la macro
Le code VBA
Sub exporterVersPowerpointPlusieursPages()
Dim oPowerpoint As Object
Set oPowerpoint = CreateObject("Powerpoint.application")
Dim oDiaporama As Object
Set oDiaporama = oPowerpoint.Presentations.Add
idDiapo = 1
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
' 1 récupérer les adresses des pages d'impressions
Dim plages As String: plages = ""
With ws.HPageBreaks
If .Count = 0 Then
plages = ws.UsedRange.Address & "-"
Else
debut = 1
For i = 1 To .Count
ligneSaut = .Item(i).Location.Row
derniereColonne = ws.UsedRange.Columns.Count
plages = plages & Range(ws.Cells(debut, 1), ws.Cells(ligneSaut - 1, derniereColonne)).Address & "-"
debut = ligneSaut
Next
ligneFin = ws.UsedRange.Rows.Count
plages = plages & Range(ws.Cells(debut, 1), ws.Cells(ligneFin - 1, derniereColonne)).Address & "-"
End If
End With
plages = Left(plages, Len(plages) - 1)
' 2 exporter vers powerpoint
For Each plage In Split(plages, "-")
Dim oDiapositive As Object
Set oDiapositive = oDiaporama.Slides.Add(Index:=idDiapo, Layout:=12)
ws.Range(plage).Copy
oDiaporama.Slides(idDiapo).Shapes.PasteSpecial DataType:=ppPasteEnhancedMetafile
idDiapo = idDiapo + 1
Next
Next
End Sub
J'ai trouvé un super code pour générer un powerpoint à partir d'un fichier excel
Le hic c'est que je souhaite qu'il ne genere que 2 sheets et non tout le document,
Quel est la condition a écrire dans le code ci-dessous pour que le système ne gérére que le powerpoint pour la sheet dashbord et graph ?
Mon bouton pour lancer la macro
Le code VBA
Sub exporterVersPowerpointPlusieursPages()
Dim oPowerpoint As Object
Set oPowerpoint = CreateObject("Powerpoint.application")
Dim oDiaporama As Object
Set oDiaporama = oPowerpoint.Presentations.Add
idDiapo = 1
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
' 1 récupérer les adresses des pages d'impressions
Dim plages As String: plages = ""
With ws.HPageBreaks
If .Count = 0 Then
plages = ws.UsedRange.Address & "-"
Else
debut = 1
For i = 1 To .Count
ligneSaut = .Item(i).Location.Row
derniereColonne = ws.UsedRange.Columns.Count
plages = plages & Range(ws.Cells(debut, 1), ws.Cells(ligneSaut - 1, derniereColonne)).Address & "-"
debut = ligneSaut
Next
ligneFin = ws.UsedRange.Rows.Count
plages = plages & Range(ws.Cells(debut, 1), ws.Cells(ligneFin - 1, derniereColonne)).Address & "-"
End If
End With
plages = Left(plages, Len(plages) - 1)
' 2 exporter vers powerpoint
For Each plage In Split(plages, "-")
Dim oDiapositive As Object
Set oDiapositive = oDiaporama.Slides.Add(Index:=idDiapo, Layout:=12)
ws.Range(plage).Copy
oDiaporama.Slides(idDiapo).Shapes.PasteSpecial DataType:=ppPasteEnhancedMetafile
idDiapo = idDiapo + 1
Next
Next
End Sub