formateur informatique

Déclencher une présentation PowerPoint avec Diaporama

Accueil  >  Bureautique  >  Access  >  Access VBA  >  Déclencher une présentation PowerPoint avec Diaporama
Livres à télécharger


Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :


Inscription Newsletter    Inscription Newsletter
Sujets que vous pourriez aussi aimer :


Déclencher une présentation PowerPoint

Grâce aux développements des volets précédents, nous avons appris à piloter des instances de Word et d'Excel. Dans les pas de ces solutions, nous proposons maintenant d'apprendre à piloter une instance de PowerPoint par le code VBA Access.

Formulaire Access pour ouvrir des présentations PowerPoint par le code VBA

Sur l'exemple illustré par la capture, l'utilisateur consulte les noms et titres de présentations PowerPoint depuis un formulaire tabulaire. S'il clique sur l'une de ces lignes et qu'il clique ensuite sur le bouton Ouvrir, la présentation sélectionnée s'affiche dans PowerPoint. Et s'il coche la case Mode Diaporama en amont, la lecture automatique est enclenchée à l'ouverture de la présentation.



Base de données Access à télécharger
Pour développer cette solution, nous suggérons d'appuyer l'étude sur une base de données Access offrant déjà ce formulaire. Comme vous le constatez, la décompression fournit le fichier de la base de données, accompagné d'un sous dossier intitulé sources. Il héberge des présentations PowerPoint. Les noms de ces fichiers sont archivés dans la base de données.
  • Double cliquer sur le fichier de la base de données pour l'ouvrir dans Access,
  • Cliquer sur le bouton Activer le contenu du bandeau de sécurité,
  • Dans le volet de navigation sur la gauche, double cliquer sur le formulaire fFichiers,
Ainsi, nous l'exécutons. Quelques titres sont effectivement énumérés avec les noms de fichiers respectifs en troisième colonne. C'est aux clics sur l'une de ces lignes puis sur le bouton Ouvrir que l'ouverture de la présentation correspondante doit être engagée dans PowerPoint. Certes la ligne choisie n'est pas mise en évidence mais nous avions appris à colorier l'enregistrement sélectionné à l'occasion d'une astuce Access. Ici, nous filons droit au but.

La procédure et les variables
Pour débuter, nous devons commencer par créer la procédure de code à attacher au clic sur le bouton Ouvrir. Elle doit se charger de piloter une instance de PowerPoint pour ouvrir le fichier désigné. Donc, nous avons besoin d'une variable pour l'instance et d'une autre pour construire le chemin d'accès local à ce fichier.
  • A gauche du ruban Accueil, cliquer sur la flèche du bouton Affichage,
  • Dans les propositions, choisir le mode Création,
  • Sur le formulaire en conception, cliquer sur le bouton Ouvrir pour le sélectionner,
  • Dès lors, activer l'onglet Evénement de sa feuille de propriétés,
  • Cliquer sur le petit bouton associé à son événement Au clic,
  • Dans la boîte de dialogue qui suit, choisir le générateur de code et valider par Ok,
De fait, nous basculons dans l'éditeur VBA Access entre les bornes de la procédure événementielle ouvrir_Click.
  • Dans les bornes de cette procédure, ajouter les deux déclarations de variables suivantes :
Private Sub ouvrir_Click()
Dim instanceP As Object: Dim nomFichier As String

End Sub


Nous déclarons la variable instanceP comme un objet au sens large (Object). Elle prendra son type lorsque nous instancierons la classe PowerPoint. Plus classiquement, nous déclarons la variable nomFichier comme un texte (String). Son rôle est de mémoriser le chemin d'accès complet au fichier PowerPoint cliqué sur le formulaire.



Instancier la classe PowerPoint
Maintenant que ces deux variables existent, nous devons les initialiser. Concernant l'instance de PowerPoint, nous allons encore une fois exploiter la fonction VBA CreateObject avec un paramètre spécifique, pour faire référence à la librairie souhaitée.
  • Après la déclaration des variables, ajouter les deux instructions VBA suivantes :
...
nomFichier = CurrentProject.Path & "\sources\" & Me.fichier_nom
Set instanceP = CreateObject("PowerPoint.Application")
...


Nous exploitons tout d'abord la propriété Path de l'objet VBA Access CurrentProject. Elle renvoie le chemin d'accès à l'application locale. Par concaténation (&), nous lui associons le sous dossier des présentations (\sources\) pour enfin pouvoir désigner le nom du fichier à ouvrir dans PowerPoint. Me désigne l'objet actif au moment de la demande, soit le formulaire. fichier_nom est le nom de la zone de texte hébergeant le nom du fichier cliqué. En effet, sur un formulaire tabulaire, ce sont les contrôles de la ligne cliquée qui sont considérés comme actifs. Et c'est ainsi que nous récupérons le choix de l'utilisateur. Ensuite, c'est le paramètre PowerPoint.Application passé à la fonction CreateObject qui permet d'instancier la classe de PowerPoint. De fait, l'objet instanceP ainsi initialisé (Set), hérite des propriétés et méthodes pour piloter cette nouvelle instance de PowerPoint.

Ouvrir le fichier PowerPoint
Maintenant que l'objet instanceP est initialisé, nous allons pouvoir exploiter ses facultés pour ouvrir la présentation du fichier cliqué par l'utilisateur sur le formulaire Access.
  • A la suite du code, ajouter les deux instructions VBA suivantes :
...
instanceP.Visible = True
instanceP.Presentations.Open (nomFichier)
...


En réglant la propriété Visible de cette nouvelle instance à True, contrairement aux développements précédents en tâches de fond, nous indiquons que la fenêtre de PowerPoint doit s'afficher à l'écran. C'est alors la méthode Open de sa collection Presentations qui permet de désigner en paramètre, le fichier PowerPoint à ouvrir.

Jouer le diaporama en VBA Access
Un dernier détail reste à régler dans ce code VBA fort simple. Si l'utilisateur coche la case à côté du bouton, le fichier PowerPoint doit automatiquement s'exécuter à l'ouverture pour lancer le diaporama. Cette case porte le nom d'objet diapo.
  • A la suite du code, ajouter l'instruction VBA suivante :
...
If diapo.Value = -1 Then instanceP.ActivePresentation.SlideShowSettings.Run
...


Si la case est bien cochée (-1), nous exploitons la méthode Run de la propriété SlideShowSettings de l'objet ActivePresentation pour l'instance de PowerPoint. Cette propriété SlideShowSettings représente les paramètres du diaporama. Avec sa méthode Run, nous lançons la lecture à distance par le code VBA Access.



Lancer une présentation PowerPoint
Nous en avons déjà terminé avec le développement de ce code VBA. Il ne nous reste plus qu'à le tester.
  • Enregistrer les modifications (CTRL + S) et revenir sur le formulaire Access (ALT + Tab),
  • L'exécuter par exemple avec la touche F5 du clavier,
  • Cliquer sur la ligne de l'une des présentations, par exemple la deuxième,
  • Puis, cliquer sur le bouton Ouvrir, en haut du formulaire,
Comme vous pouvez l'apprécier, la présentation correspondante s'ouvre aussitôt dans PowerPoint.
  • Fermer PowerPoint en cliquant sur la croix de sa fenêtre,
  • Cliquer maintenant sur la ligne du dernier fichier, la septième,
  • A côté du bouton Ouvrir, cocher la case Mode diaporama,
  • Puis, cliquer sur le bouton Ouvrir,
Cette fois, c'est la lecture automatique de la présentation PowerPoint qui est commandée à distance par le code VBA Access.

Lancer un diaporama Powerpoint depuis un formulaire VBA Access

Le code VBA Access pour réaliser cette prouesse reste d'une simplicité déconcertante :

Private Sub ouvrir_Click()
Dim instanceP As Object: Dim nomFichier As String

nomFichier = CurrentProject.Path & "\sources\" & Me.fichier_nom
Set instanceP = CreateObject("PowerPoint.Application")

instanceP.Visible = True
instanceP.Presentations.Open (nomFichier)

If diapo.Value = -1 Then instanceP.ActivePresentation.SlideShowSettings.Run

End Sub

  
Sur Facebook
Sur Youtube
Les livres
Contact
Mentions légales



Abonnement à la chaîne Youtube
Partager la formation
Partager sur Facebook
Partager sur Twitter
Partager sur LinkedIn