Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Powerpoint > VBA PowerPoint

Réponse
 
Outils de la discussion
Vieux 20/05/2008, 18h36   #1 (permalink)
Invité de passage
 
Date d'inscription: avril 2008
Messages: 6
Par défaut Pb de communication entre PPT et XLS

Je souhaite faire une macro PPT pour extraire des informations des planches d'une présentation PPT, puis stocker les résultats dans un fichier XLS.

La macro en cours de construction boucle sur les slides de la présentation:
- visualisation de la planche en cours de traitement
- boucle sur les shapes de la planche en cours
- stockage dans XLS.

La macro semble fonctionner quand les planches à analyser sont très simples (quelques shapes) par contre dès que les planches sont un peu lourdes visual basic se plante à l'éxécution. Le message d'erreur est le suivant :

Run time error '-2147188160 (80048240)'
Shape (unknown member) : invalid request
to select a shape, its view must be active

Merci de vos conseils.
PPz
PPz78 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 20/05/2008, 19h05   #2 (permalink)
Responsable PowerPoint
 
Avatar de Philippe JOCHMANS
 
Date d'inscription: mai 2005
Localisation: Loir et Cher et Touraine
Âge: 40
Messages: 9 998
Envoyer un message via MSN à Philippe JOCHMANS
Par défaut

Bonjour

Pourrait-on avoir le code, car sans cela

Ainsi que la version, le mieux serait un fichier joint (à zipper car les formats PPT ne sont pas pris en charge).

Starec
__________________
En cas de questions techniques par MP ou message visiteur
Office : :Les Cours, Les FAQs
VB : Les Cours, Les FAQs
Mes articles : ici
Me connaitre
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 20/05/2008, 21h46   #3 (permalink)
Invité de passage
 
Date d'inscription: avril 2008
Messages: 6
Par défaut

Voici le code de la macro Zippé.
La macro est réduite à sa plus simple expression pour mettre en évidence le Pb. Avant de la lancer il faut mettre une autre présentation au premier plan.

La version de PPT est celle de 2003.

Si besoin je peux le mettre dans le texte d'un message comme celui-ci.

Merci de votre aide.
PPz
Fichiers attachés
Type de fichier : zip PPT1_Macro.ppt.zip (14,8 Ko, 6 affichages)
PPz78 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 21/05/2008, 06h08   #4 (permalink)
Responsable PowerPoint
 
Avatar de Philippe JOCHMANS
 
Date d'inscription: mai 2005
Localisation: Loir et Cher et Touraine
Âge: 40
Messages: 9 998
Envoyer un message via MSN à Philippe JOCHMANS
Par défaut

Bonjour

Je viens de tester sur une présentation de 62 diapos et pas mal de formes, et je n'ai pas découvert d'anomalie.

Cependant je te conseille d'éviter les Select et de faire des boucles de types For Each, surtout dans la routine qui se nomme Analyse_PPT.

Regardes ici comment faire une boucle pour parcourir les éléments d'une diapositive http://www.developpez.net/forums/sho...d.php?t=531610

Starec
__________________
En cas de questions techniques par MP ou message visiteur
Office : :Les Cours, Les FAQs
VB : Les Cours, Les FAQs
Mes articles : ici
Me connaitre
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 21/05/2008, 19h28   #5 (permalink)
Invité de passage
 
Date d'inscription: avril 2008
Messages: 6
Par défaut

Merci de ton conseil.
Je viens d'essayer une version avec les instructions for each. J'obtiens le même résultat avec la même injure quand je le teste sur mon PPT à analyser.

J'ai donc cherché dans le PPT en question et j'en ai extrait une version simplifiée (2 slides au lieu de 260) qui plante aussi.

Je joins à ce mail, la nouvelle version de la macro et le fichier PPT qui me pose problèmes.

J'ai trouvé néanmoins un cas qui marchotte : en mettant un point d'arrêt sur l'instruction "objShp.Select" de la macro cela passe. Il faut aussi remarquer les numéros très élevés des Shapes.

Merci de vos futurs conseils.

PPz
Fichiers attachés
Type de fichier : zip PPT2_Macro_ForEach.ppt.zip (13,6 Ko, 4 affichages)
Type de fichier : zip PPT_avec_PB.ppt.zip (13,3 Ko, 2 affichages)
PPz78 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 21/05/2008, 19h39   #6 (permalink)
Responsable PowerPoint
 
Avatar de Philippe JOCHMANS
 
Date d'inscription: mai 2005
Localisation: Loir et Cher et Touraine
Âge: 40
Messages: 9 998
Envoyer un message via MSN à Philippe JOCHMANS
Par défaut

Bonjour

Je suis désolé, mais je n'ai aucun soucis, je test avec PPT 2007, car je ne possède pas la version 2003.

Tout se passe sans problème avec tous les fichiers que tu as envoyé, même jusqu'à l'enregistrement sur le fichier Excel.

Starec
__________________
En cas de questions techniques par MP ou message visiteur
Office : :Les Cours, Les FAQs
VB : Les Cours, Les FAQs
Mes articles : ici
Me connaitre
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 25/05/2008, 22h30   #7 (permalink)
Invité de passage
 
Date d'inscription: avril 2008
Messages: 6
Par défaut

Un collègue habitué de PPT 2003 a finalement trouvé la solution.
Pour sélectionner une slide il faut utiliser l'instruction suivante :

Application.ActiveWindow.View.GotoSlide i_slide

Pour les futurs lecteurs qui seraient intéressés, je joins la macro complète.

Merci de votre aide.

PPz
Fichiers attachés
Type de fichier : zip PPT2_Macro.ppt.zip (14,4 Ko, 5 affichages)
PPz78 est déconnecté   Envoyer un message privé Réponse avec citation
NEWS MS-OFFICEFAQs OFFICETUTORIELS OFFICELIVRES OFFICESOURCES VBAACCESS

Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Powerpoint > VBA PowerPoint



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide