crackerwood
XLDnaute Nouveau
Bonjour à tous. J'ai un erreur problème pour une macro qui fonctionner avant.
Je vous explique : j'ai créer un système de suivi de stagiaire pour nos formations et à la fin du stage je peux extraire tous les onglets en ppt pour la commission de fin.
Il y a quelques mois cela fonctionnais parfaitement mais depuis peu j'ai une erreur exécution -2147188160 (80048240) : shapes.pastespecial : invalid request. et je n'arrive pas à le résoudre.
J'ai essayé avec différente commande du type attendre (marche pas), vider le presse papier (marche pas à cause de la dll user32). et de changer le datatype.
Je suis sur le pc professionnel et je n'ai pas un accès à 100% (dll ?). J'ai également essayé le code avec F8 (pas à pas détaillé) et cela fonctionne parfaitement.
Ne pouvant pas vous fournir le tableau (car trop de données confidentiel ... désolé) je vous donne le code de la partie export en PPT. J'espère avoir été assez clair et que quelqu'un pourras m'apporter son aide.
Je vous explique : j'ai créer un système de suivi de stagiaire pour nos formations et à la fin du stage je peux extraire tous les onglets en ppt pour la commission de fin.
Il y a quelques mois cela fonctionnais parfaitement mais depuis peu j'ai une erreur exécution -2147188160 (80048240) : shapes.pastespecial : invalid request. et je n'arrive pas à le résoudre.
J'ai essayé avec différente commande du type attendre (marche pas), vider le presse papier (marche pas à cause de la dll user32). et de changer le datatype.
Je suis sur le pc professionnel et je n'ai pas un accès à 100% (dll ?). J'ai également essayé le code avec F8 (pas à pas détaillé) et cela fonctionne parfaitement.
Ne pouvant pas vous fournir le tableau (car trop de données confidentiel ... désolé) je vous donne le code de la partie export en PPT. J'espère avoir été assez clair et que quelqu'un pourras m'apporter son aide.
VB:
' Prépare le PPT de présentation
Set pptapp = CreateObject("PowerPoint.Application")
Set ppt = pptapp.Presentations.Add
i = Sheets.Count
For i = Sheets.Count To 7 Step -1
Sheets(i).Select
With pptapp
Set newSlide = ppt.Slides.Add(1, 12) ' ppLayoutBlank = 12
ActiveSheet.Range("A1:Q37").Copy
newSlide.Shapes.PasteSpecial DataType:=2 'LIGNE QUI CREER LE BUG
Set Graphic = GetObject(, "Powerpoint.Application")
With Graphic.ActiveWindow.Selection.ShapeRange
.Left = 20
.Top = 20
.Width = 640
.Height = 100
End With
ppt.SaveAs Filename:="M:\7-CFR\6-SectionConduiteStages\SUIVI INSTRUCTION\ETATS STAGIAIRES\Commission\Commission_CDM.pptx"
End With
Next i
AppActivate "Excel"
Sheets(1).Select