![]() |
| 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é. | |||||||
|
|||||||
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Invité régulier
![]() Date d'inscription: mars 2008
Messages: 16
|
Bonjour
Je souhaite en cliquant sur un bouton présent sur le slide 2 copier un objet (tableau lié à une page XL) présent dans le slide 5 et le coller dans mon slide 2 à la place d'un autre objet (tableau). => je sais identifier le nom de l'objet (merci starec pour la boucle permettant l'identification des shapes => Comment selectionner et copier le tableau lié dans le slide 5 ? => comment coller le tableau dans le slide 2 à la place du tableau existant ? d'avance merci Dernière modification par Philippe JOCHMANS ; 17/04/2008 à 04h29 |
|
|
|
|
|
#2 (permalink) |
![]() |
Bonjour
J'ai fait un petit test sous PowerPoint 2007 Soit une bouton de commande sur le slide 2 cmdCopierColler Sur l'évènement Clique de ce bouton tu mets le code suivant Code :
Private Sub cmdCopierColler_Click() ActivePresentation.Slides(5).Shapes(1).Copy ActivePresentation.Slides(2).Shapes.Paste End Sub Comme tu as compris comment identifier l'objet, tu identifies les différentes shapes. Après le copier, tu détruis l'autre tableau (Méthode delete de Shape). Quand tu réouvres ton fichier, tu verras que la mise à jour du tableau copier se fait, donc la liaison sur le fichier Excel est conservée. Starec |
|
|
|
|
|
#3 (permalink) |
|
Invité régulier
![]() Date d'inscription: mars 2008
Messages: 16
|
Merci Starec pour l'info ça fonctionne. je copie et colle le tableau dans le slide souhaité.
Par contre j'ai un doute sur ma méthode !!! le but de ma manip est de copier un tableau présent dans un des slides de ma présentation en fonction du choix de l'utilisateur (x boutons) - avantages : rapide et rendu nickel - inconvénients : * L’utilisateur peut cliquer sur +sieurs boutons successivement, ce qui m'oblige par code à supprimer le tableau précédemment copié. * Lorsque je passe au slide suivant le précédent garde le denier tableau copié, je n'ai pas trouvé le procédé lors de l'évènnement transition pour le supprimer * A la fin du diaporama je ne veux pas sauvegarder les modifs , j'ai donc ajouté un slide avec un bouton pour quitter sans sauvegarder : c'est moyen comme méthode mais je n'ai pas trouvé d'évènement "Fermeture présentation" pour mettre le code Autre méthode : j'ai essayé en utilisant une UF avec copie écran du slide contenant le tableau Mais le rendu est très très moyen. Si vous avez une autre méthode merci |
|
|
|
|
|
#4 (permalink) | |||
![]() |
Bonjour
Citation:
Citation:
Créer un module de classe que tu nommes EventClassModule A l'intérieur du colle le code suivant Code :
Option Explicit Public WithEvents App As Application Private Sub App_SlideShowNextSlide(ByVal Wn As SlideShowWindow) Dim sldw As SlideShowWindow Set sldw = Wn MsgBox sldw.View.CurrentShowPosition End Sub Code :
Option Explicit Dim X As New EventClassModule Sub InitializeApp() Set X.App = Application End Sub A chaque changement de diapositive tu vas déclencher l'évènement SlideShowNextSlide a l'intérieur une msgbox t'indiquera la numéro de slide, à toi de mettre ce que tu veux faire selon le slide avec un Select case Je t'invite à taper évènement dans l'aide VB pour avoir une explication plus compléte Citation:
Tu verras que dans le module de classe en sélectionnant APP, tu auras un liste déroulante avec les évènements à gérer. Je sais que ce n'est pas évident à appréhender. A chaque modif dans le code il faut ré exécuter ce qu'il y a dans le module standard. Starec |
|||
|
|
|
|
|
#5 (permalink) |
|
Invité régulier
![]() Date d'inscription: mars 2008
Messages: 16
|
Merci Starec pour tes réponses mais j'ai encore besoin de qques services
Questions 1-Comment renommer les modules de classe ? (possible avec pwp 2003) -J'ai créé deux modules de classe ( EventClassModule et PresentationClose nommer respectivement classe 1 et 2 ) Code :
Option Explicit Public WithEvents App As Application Private Sub App_SlideShowNextSlide(ByVal Wn As SlideShowWindow) Dim a, bidon Dim sldw As SlideShowWindow Set sldw = Wn ' MsgBox sldw.View.CurrentShowPosition a = sldw.View.CurrentShowPosition Select Case a Case 18 bidon = suppress() 'appel function pour suppression dernier élément copié' End Select End Sub Code :
Option Explicit Public WithEvents App As Application Private Sub App_PresentationClose(ByVal Pres As Presentation) Application.ActivePresentation.Saved = msoTrue Application.Quit End Sub J'ai créé un module standard pour activer les 2 modules de classe Code :
Option Explicit 'Dim X As New EventClassModule 'Dim y As New PresentationClose Dim X As New Classe1 Dim y As New Classe2 Function InitializeApp() Set X.App = Application Set y.App = Application End Function En mode PPT Bon C'est OK pour le module classe1 mais KO pour le modules classe2 il me pose la question "voulez vous sauvegarder...." En mode PPS Pour que les modules de classe soient activées j'ai copie le code présent dans le module standard dans un des boutons du slide qui me permet de copier-coller des tableaux présents dans un des slides de ma présentation Ca marche nickel pour activer le module de classe 1 mais toujours KO pour l'événement PresentationClose 2 - Comment forcer PWP à ne pas poser la question de sauvegarde du document en mode PPT/PPS ? D'avance merci Dernière modification par Philippe JOCHMANS ; 25/04/2008 à 16h23 Motif: Ajout des balises codes (sélection du code + #), ce n'est pas facultatif |
|
|
|
|
|
#7 (permalink) |
|
Invité régulier
![]() Date d'inscription: mars 2008
Messages: 16
|
Merci pour l'info
- Mais peux-tu me dires comment renommer le module de classe (pour info) ? - Ok pour mettre deux Sub dans le même module de classe mais cela ne me résolve pas mon problème de message de sauvegarde à la fin de l'exécution du pwp (ppt ou pps) merci pour ton aide |
|
|
|
|
|
#8 (permalink) |
![]() |
Re
Pour renommer un module de classe, il faut appuyer sur F4 pour afficher la fenêtre propriété. Cependant, si tu le renommes, il faut renommer les déclarations tel que : Code :
Dim X As New Classe1 Starec |
|
|
|
![]() |
![]() |
||
Copier des éléments d'une diapositive dans une autre
|
||
Offres d'
emploi informatique
sur Lesjeudis.com
|
| Outils de la discussion | |
|
|