La classe ne gère pas Automation ...

KurDtE

XLDnaute Nouveau
Bonjour,

Je développe une macro sous excel qui créée des diapos sous powerpoint à partir de de données contenues dans ma feuille.
J'utilise les objets OLEFormats pour mes créer mes graphiques dans powerpoint, et mon problème est qu'au bout d'à peu près 70 diapositives créées (quelques fois 69 ou 71), ma macro plante et le débuggeur me renvoit l'erreur suivante :

"La classe ne gère pas Automation ou l'interface attendue"

J'ai consulté le support microsoft mais n'ai rien trouvé qui puisse m'aider, et ma macro doit créer à peu près 400 diapos ...

Je précise que l'erreur intervient quelque soit les données extraites de la feuille excel :

Voici la ligne qui plante :

'On crée un nouveau slide, en recopiant le slide 1
ppBase.Slides(1).Copy
ppBase.Slides.Paste nbSlides
Set ppSlide = ppBase.Slides(nbSlides)

----> Set Gr = ppSlide.Shapes("Graph").OLEFormat.Object

Merci de votre aide
 

Gorfael

XLDnaute Barbatruc
Re : La classe ne gère pas Automation ...

KurDtE à dit:
Bonjour,

Je développe une macro sous excel qui créée des diapos sous powerpoint à partir de de données contenues dans ma feuille.
J'utilise les objets OLEFormats pour mes créer mes graphiques dans powerpoint, et mon problème est qu'au bout d'à peu près 70 diapositives créées (quelques fois 69 ou 71), ma macro plante et le débuggeur me renvoit l'erreur suivante :

"La classe ne gère pas Automation ou l'interface attendue"

J'ai consulté le support microsoft mais n'ai rien trouvé qui puisse m'aider, et ma macro doit créer à peu près 400 diapos ...

Je précise que l'erreur intervient quelque soit les données extraites de la feuille excel :

Voici la ligne qui plante :

'On crée un nouveau slide, en recopiant le slide 1
ppBase.Slides(1).Copy
ppBase.Slides.Paste nbSlides
Set ppSlide = ppBase.Slides(nbSlides)

----> Set Gr = ppSlide.Shapes("Graph").OLEFormat.Object

Merci de votre aide
Salut
Sans être sûr, je crois que ton problème viens de la recopie d'un modèle : Déjà eu un problème similaire en faisant de la copie de feuille. Au bout d'un certain nombre de recopies d'une feuille, Excel plante
Il me semble que j'avais résolu le problème en mettant le "modèle" dans un classeur séparé
A+
 

KurDtE

XLDnaute Nouveau
Re : La classe ne gère pas Automation ...

Bon j'ai trouvé la solution :
En fait, il faut fermer l'objet après l'avoir utilisé (je faisais un Gr = Nothing mais cela ne suffisait pas ....)

Gr.Application.Quit

Et en plus c'est beaucoup plus rapide maintenant :)
 

Statistiques des forums

Discussions
314 033
Messages
2 104 848
Membres
109 189
dernier inscrit
Fred94234