Macro export excel vers powerpoint - Erreur 438

Signaler
-
Messages postés
9972
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
18 mai 2021
-
Bonjour,

Je rencontre un problème avec un code erreur 438 lors de l'exécution de cette macro.
J'ai suivi un tuto pour exporter les pages d'un onglet excel vers powerpoint (ça récupère la plage de cellules, et pour chaque page délimitée dans l'onglet par des sauts de page cela crée un slide .ppt)

Pour info j'utilise un mac, je n'ai pas encore essayé sur pc.
Version Excel pour Mac 16.48

Voici la macro :

---------------------

Sub exporterVersPowerpoint()
'Partie 1 : Récupérer l’adresse des pages d’impressions
Dim plages As String: plages = ""
With ActiveSheet.HPageBreaks
If .Count = 0 Then
plages = ActiveSheet.UsedRange.Address
Else

debut = 1
For i = 1 To .Count
ligneSaut = .Item(i).Location.Row

derniereColonne = ActiveSheet.UsedRange.Columns.Count
plages = plages & Range(ActiveSheet.Cells(debut, 1), ActiveSheet.Cells(ligneSaut - 1, derniereColonne)).Address & "-"
debut = ligneSaut
Next
ligneFin = ActiveSheet.UsedRange.Rows.Count
plages = plages & Range(ActiveSheet.Cells(debut, 1), ActiveSheet.Cells(ligneFin, derniereColonne)).Address & "-"
plages = Left(plages, Len(plages) - 1)

End If
End With

'Partie 2 : Exporter chacune de ces zones vers une présentation powerpoint
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

-------------------------


Si quelqu'un a une idée, merci d'avance !

Bonne soirée

Configuration: Macintosh / Firefox 88.0

4 réponses

Messages postés
9972
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
18 mai 2021
1 142
Bonjour,
Merci de préciser ou je peux trouver le tuto....!
Et aussi sur quelle ligne se produit l'erreur 438!
hello
merci pour ce retour
le tuto est ici
https://www.votreassistante.net/comment-transformer-fichiers-excel-presentation-powerpoint-en-1-clic/

à priori la ligne qui cloche serait vers la fin
oDiaporama.Slides(idDiapo).Shapes.PasteSpecial DataType:=ppPasteEnhancedMetafile

merci !
Messages postés
9972
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
18 mai 2021
1 142
Bonjour,
Merci du retour
Une réponse demain, d'autre priorité pour aujourd'hui.
Messages postés
9972
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
18 mai 2021
1 142
Bonjour,
J'ai un peu d'avance. Dans un premier temps contrôler que vous avez bien activé la librairie selon image: