Help : VBA : Gestion/Modification d'un Objet OLE Powerpoint dans Excel

  • Auteur de la discussion Danseur92
  • Date de début
D

Danseur92

Guest
Bonjour,

j'ai un problème assez ennuyeux, comme vous allez le lire.

Le sujet : indiqué dans le titre !

J'ai donc inséré une diapositive Powerpoint dans Excel. Je souhaite effectuer une modification (mineure : changer la couleur d'un élément à l'intérieur en fonction d'une condition réalisée dans une feuille Excel).

Pour le faire "à la main, c'est simple" :
1°) Click droit sur la diapo puis "Modifier" : On pass een modification d ela feuille
2°) Selection de l'objet, propriétés, et change rla couleur.

Mais bien sûr, je souhaite réaliser cette modification sous VBA !

J'ai donc utilisé l'enregisterue de macros pour programme rles 2 étapes :
1°) Carte.Shapes("Object 3").Select (Carte est le nom de la diapo)
Selection.Verb Verb:=xlOpen

=> cette partie dans le code VBA marche bien, la diapo s'ouvre sans problèmes en modification

2°) MAIS c'est là que j'ai le problème : dès que la diapo est ouverte en modification (directement dans Excel donc, pas dans Powerpoint...), l'enregistreur de macro ne marche plus, on dirait que je suis dans une autre application (Powerpoint ?). Il faut que je le relance une seconde fois, et là il enregitre les modifications... Mais alors que la première macro s'enregistre dans un module dans mon fichier TOTO.xls, la seconde est censée s'enregistrer dans "PRESENTATION dans TOTO.xls", et je ne retrouve pas le code généré !

Mais je sais qu'il ressemble à :
ActiveWindow.Selection.SlideRange.Shapes("Group 395").Select
With ActiveWindow.Selection.ShapeRange
.Fill.Visible = msoTrue
.Fill.Solid
.Fill.ForeColor.RGB = RGB(255, 102, 153)
End With

donc du code normal pour modifier une présentation.

MON PROBLEME : si j'enchaine les 2 codes, VBA plante dès le début de la seconde partie.

COMMENT arriver à réaliser cette intégration afin de modifier cet objet OLE inséré dans excel par VBA ???

Merci d'avance !

Olivier
 
M

michel

Guest
bonsoir Olivier

je ne sais pas si l'exemple ci joint repondra totalement à ta demande :

la macro modifie la couleur de fond d'un objet "diapositive Powerpoint" inséré dans la feuille Excel (procedure testée avec ExcelXP )


bonne soiree
michel
 

Fichiers joints

Discussions similaires


Haut Bas