Bonjour,
En modifiant à 4, ça fonctionne nickel.
Pour le powerpoint, j'avais testé l'exemple et ça fonctionnait en plaçant le fichier powerpoint dans le même répertoire que le fichier excel, mais l'exemple portait sur l'export de graphique.
Je vais essayer de voir s'il peut être adapté pour exporter dans le même fichier ppt mes 5 onglets.
Je te remercie pour ton aide précieuse.
Passes également une bonne journée.
J'ai trouvé ce code qui semblait prometteur et que j'ai essayé d'adapter mais cela ne fonctionne pas.
VB :
Sub exporterVersPowerpointPlusieursPages()
Dim oPowerpoint As Object
Set oPowerpoint = CreateObject("Powerpoint.application")
Dim oDiaporama As Object
Set oDiaporama = oPowerpoint.Presentations.Add
Dim idDiapo As Integer, debut As Integer, i As Integer, ligneSaut As Object, derniereColonne As Object, ligneFin As Object, Left As Object, plage As Object
idDiapo = 1
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Sheets(Array("lundi", "mardi"))
' 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