1. Avant propos ▲
Ce document a pour but de vous montrer comment, avec Visual Basic for Application, concevoir un complémment PowerPoint pour extraire les images d'une présentation (PPS ou PPT).
Il est en effet probable que vous souhaitiez récupérer par un autre mode qu'à la main, toutes les images d'une présentation en une seule opération.
Grâce à ce tutoriel, vous serez à même de développer un complément dédié à cela.
En effet, dans ce tutoriel, je vous ai montré comment concevoir un complément PowerPoint pour générer un diaporama à partir d'un dossier contenant des images.
Cette fois, c'est l'opération inverse dont il s'agit et en sortie, des images stockées aux formatx BMP - JPG - GIF - PNG ou WMF dans le dossier de la présentation...
Attention !
L'utilisation de ce tutoriel permet d'extraire des images de différentes présentations.
Je vous précise ici que cela doit rester dans le cadre d'un usage personnel et que l'exploitation d'images issues de présentations dont vous n'êtes pas propriétaire vous oblige à prendre connaissance des droits de copyright © à leur égard.
1-1. Remerciements ▲
Je tiens à remercier tout particulièrement toutes celles et ceux qui ont participé à la relecture de ce document en y incluant leurs remarques.
1-2. Contact ▲
Pour tout renseignement complémentaire, veuillez me contacter directement (Argyronet) par MP.
2. Présentation du projet▲
Le projet n'est au départ qu'une simple nouvelle présentation vierge et dépourvue de toute diapositive.
Le principe de réalisation consiste à attaquer directement le code VBA depuis l'interface de développement Visaul Basic Editor (VBE).
Le projet se compose de deux Modules et d'un objet UserForm.
Chargement du projet
Lorsque vous lancez PowerPoint en vue de créer ou d'ouvrir une présentation quelconque, rien ne se passe avant que vous interveniez sur les différents menus ou boutons issus des éventuelles boîtes de dialogue affichées...
Dans ce tutoriel sera exploité le menu Outils pour appeler l'extracteur d'images. Rien ne vous empêche d'en choisir un autre.
Vous pouvez également réaliser votre propre menu ou bien de faire en sorte que cette rubrique soit située dans un menu flottant.
2-1. Utilisation▲
Sélection de la présentation
Lorsque vous avez cliqué sur cette rubrique du menu Outils, le projet affiche une fenêtre (le UserForm) dans lequel se trouve les différents contrôles permettant :
- de sélectionner la présentation
- de définir le dossier d'extraction
- de définir le format d'extraction des images
Il ne vous reste plus alors :
- qu'à sélectionner une présentation aux formats *.pps ou *.ppt,
- qu'à définir le format de sortie,
- puis qu'à cliquer sur le bouton d'extraction pour démarrer le processus.
Formats de fichiers pour l'exportation
Ce projet vous permet d'extraire les images de la présentation sélectionnée et de les enregistrer dans le dossier cible aux formats suivants :
- BMP
- GIF
- JPG
- PNG
- WMF
Ces formats étant définis par des constantes intrinsèques dans PowerPoint, il est aisé de les exploiter...
Sélection de la présentation
Pour sélectionner la présentation contenant des images, j'ai choisi d'utiliser l'API GetOpenFileName() que vous connaissez certainement déjà et qui a pour rôle d'afficher cette boîte de dialogue, invitant l'utilisateur à sélectionner la présentation souhaitée...
Il n'y a pas d'événements particuliers en ce qui concerne la sélection du fichier.
Le fait d'annuler ne provoque pas d'erreur puisque la propriété Enabled des contrôles suivant dépend de la non nullité du nom de la présentation choisie...
Vous pouvez mettre en place d'autres routines liées ; celle que je vous propose reste la plus simple.
2-2. Démarrage de l'extraction▲
L'extraction des images débute aussitôt que vous cliquez sur le bouton "Extraire les images de la présentation"...
Une fois la procédure achevée, un message vous informe que les images sont maintenant extraites ou non :
Message d'extraction avec succès

Les images extraites sont stockées dans le dossier de la présentation...
Message d'extraction en échec
S'il n'y a aucune image, ce message s'affiche...

2-3. Chargement et déchargement du complément▲
Objectif du tutoriel
L'objectif de ce tutoriel est de vous montrer le coté pratique d'un complément dont le seul rôle est d'extraire les images d'une présentation...
Il reste - en quelques points - fidèle à la même méthodologie de développement que dans mon précédent tutoriel qui générait un diaporama minute...
Au sein du code VBA de ce nouveau projet, vous verrez alors :
- Comment créer un complément
- Comment charger et décharger ce complément
- Comment insérer un élément de menu dans un menu existant qui se supprime lorsque le complément est déchargé.
- Comment exploiter l'API GetOpenFileName filtrée sur plusieurs fichiers...
Pour charger le complément, une fois que vous l'avez développé bien entendu et que vous l'avez compilé, vous pouvez le charger ou le décharger depuis le menu Outils/Macros complémentaires...

Cette boîte de dialogue apparaît, vide si aucun complément n'a déjà été chargé ;
là, il vous faut cliquer sur Nouvelle (sous-entendu nouvelle macro complémentaire) pour qu'apparaisse la boîte de dialogue permettant de sélectionner le ou les compléments concernés.

Notez ici que le chemin par défaut des compléments créés est définit comme suit :
C:\Documents and Settings\Argyronet\Application Data\Microsoft\Macros complémentaires
où, ici, l'utilisateur en cours est Argyronet (c'est encore moi !!!
)
Il vous apparatient de faire en sorte que ce dernier soit stocké dans un dossier accessible à tous les utilisateurs si toutefois vous souhaitez faire en sorte que ce complément soit disponible, quelle que soit la session chargée.
Dans ce cas précis ci-avant, seul Argyronet peut utiliser ce complément.
Une fois que vous avez cliqué sur OK, le message d'alerte d'activation des macros se fait suivre et vous invite à choisir si vous voulez ou non activer les macros de ce complément.

Ce message n'apparaît pas du tout si le niveau de sécurité est défini à Bas (non recommandé) et charge le complément ou si votre projet est signé numériquement.
Donc, réglez la sécurité sur Moyen de manière à ce que ce message s'affiche systématiquement.
Vous cliquez alors sur Activer les macros derrière quoi, le menu Outils se voit greffé d'une nouvelle commande comme cela est stipulé ici...
La fenêtre de la liste des compléments reste affichée :
- Le complément que vous avez sélectionné se voit alors précédé d'une croix pour signifier qu'il est chargé.
- La croix disparaît lorsqu'il est déchargé.

Cliquez alors sur Fermer et choisissez Extraire les images depuis le menu Outils.
La procédure CloseAddinsPopup() ferme par API la fenêtre des compléments dès que la fenêtre d'alerte des macros se ferme.
3. Code VBA du projet▲
Le code VBA du projet nécessite un certain degré de connaissance en matière de développement.
Il est vrai qu'il n'est pas commenté (Je commente très peu mon code en général) du fait que la lisibilité associée au nom des objets et procédures soit suffisament explicite pour un développeur habitué au VB ou au VBA.
3-1. Le module de gestion des fichiers▲
Ce module contient l'ensemble des API's nécessaires au projet associé aux fonctions qui s'occupent de fournir le nom du dossier des images et celles permettant la construction de la chaîne contenant les fichiers.
- d'appels de sélection de la présentation,
- de la fermeture de la boîte de dialogue des macros complémentaires,
Option Explicit
Private Const WM_CLOSE = &H10
Private Const ADDIN_POPUP_CLASSNAME As String = "#32770"
Private Const ADDIN_POPUP_TITLE As String = "Macros complémentaires"
Private Const OFN_FILEMUSTEXIST = &H1000
Private Const OFN_HIDEREADONLY = &H4
Private Const OFN_EXPLORER As Long = &H80000
Private Type OPENFILENAME
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type
Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" _
(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" _
(pOpenfilename As OPENFILENAME) As Long
Public Function GetPresentation(ByRef TargetFolder As String) As String
Dim OFName As OPENFILENAME
Dim strFilesName As String
With OFName
.lStructSize = Len(OFName)
.hwndOwner = 0
.hInstance = 0
.lpstrFilter = "Présentations PowerPoint (*.ppt, *.pps)" + vbNullChar + "*.ppt; *.pps" + vbNullChar
.lpstrFile = Space$(254)
.nMaxFile = 255
.lpstrFileTitle = Space$(254)
.nMaxFileTitle = 255
.lpstrInitialDir = vbNullString
.lpstrTitle = "Ouvrir une présentation Power Point"
.flags = OFN_HIDEREADONLY Or OFN_EXPLORER Or OFN_FILEMUSTEXIST
End With
strFilesName = IIf(GetOpenFileName(OFName), Trim$(OFName.lpstrFile), vbNullString)
If Len(strFilesName) Then
TargetFolder = Left(strFilesName, InStrRev(strFilesName, "\", -1, 1))
strFilesName = StripNullChar(Mid(strFilesName, InStrRev(strFilesName, "\", -1, 1) + 1))
Else
strFilesName = vbNullString
TargetFolder = vbNullString
End If
GetPresentation = strFilesName
End Function
Private Function StripNullChar(ByVal Buffer As String) As String
Dim intPosition As Integer
intPosition = InStr(Buffer, vbNullChar)
If intPosition > 0 Then
StripNullChar = Left(Buffer, intPosition - 1)
Else
StripNullChar = Buffer
End If
End Function
Public Function AddDirSep(strPathName As String)
If Right(Trim(strPathName), Len("\")) <> "\" And _
Right(Trim(strPathName), Len("\")) <> "\" Then
strPathName = RTrim$(strPathName) & "\"
End If
AddDirSep = strPathName
End Function
Public Sub CloseAddinsPopup()
Dim lngHWnd As Long
lngHWnd = FindWindow(ADDIN_POPUP_CLASSNAME, ADDIN_POPUP_TITLE)
Call SetForegroundWindow(lngHWnd)
If lngHWnd Then
PostMessage lngHWnd, WM_CLOSE, 0&, 0&
End If
End Sub- La fonction GetPresentation() : exploite GetOpenFileName() afin de sélectionner une présentation.
- La procédure StripNullChar() : supprime les caractères vbNullChar "Chr(0)" d'une chaîne passée en paramètre.
- La fonction AddDirSep() : ajoute le séparateur de fichier.
- La procédure CloseAddinsPopup() : ferme la boîte de dialogue "Macros complémentaires" dès que la fenêtre d'alerte des macros se ferme.
3-2. Le module de démarrage▲
C'est le module qui contient l'ensemble du code qui gère l'ouverture du complément...
- l'appel de la procédure Auto_Open
- l'appel de la procédure Auto_Close
- l'accès à l'affichage du UserForm
Option Explicit
Const MENU_NAME As String = "Tools"
Const MENU_NAME_FR As String = "Outils"
Const ACTION_TO_DO As String = "ShowExtractorForm"
Const TOOL_TIP_TEXT As String = "Extraire les images de la présentation"
Const ICON_CAPTION As String = "Extraire les images"
Const ICON_DESCRIPTION As String = "Extraire les images d'une présentation PPS ou PPT"
Const ICON_TAG As String = "TAG_ExtractImage"
Sub Auto_Open()
Dim oControl As CommandBarControl
Dim oCBMenu As CommandBars
Dim blnFound As Boolean
On Error Resume Next
Set oCBMenu = Application.CommandBars
For Each oControl In oCBMenu(MENU_NAME).Controls
If oControl.Tag = ICON_TAG Then
blnFound = True
Exit For
End If
Next oControl
If blnFound = False Then
On Error Resume Next
Set oControl = CommandBars(MENU_NAME).Controls.Add(msoControlButton)
With oControl
.BeginGroup = msoTrue
.FaceId = 1362
.OnAction = ACTION_TO_DO
.TooltipText = TOOL_TIP_TEXT
.Caption = ICON_CAPTION
.DescriptionText = ICON_DESCRIPTION
.Visible = msoTrue
.Style = msoButtonCaption
.Tag = ICON_TAG
End With
End If
Set oControl = Nothing
On Error GoTo 0
DoEvents
CloseAddinsPopup
End Sub
Sub Auto_Close()
Dim oControl As CommandBarControl
Dim oCBMenu As CommandBars
On Error Resume Next
Set oCBMenu = Application.CommandBars
For Each oControl In oCBMenu(MENU_NAME).Controls
If oControl.Tag = ICON_TAG Then
oControl.Delete
End If
Next oControl
Set oCBMenu = Nothing
End Sub
Sub ShowExtractorForm()
frmMain.Show vbModal
End Sub- La procédure Auto_Open() : permet d'installer le menu.
- La procédure Auto_Close() : permet de supprimer le menu.
- La procédure ShowExtractorForm() : permet l'affichage du UserForm.
3-3. Le formulaire UserForm▲
Pour concevoir le UserForm, insérer un nouvel objet UserForm dans votre projet et insérez-y :
- Un contrôle Image contenant une image représentative (ici, c'est du fait maison avec un éditeur d'images)
- Trois contrôles Label nommés
- lblPresentation (Nom de la présentation),
- lblTargetFolder (Image à enregistrer dans)
- lblExtension (Format de sortie)
respectivement pour chaque Textbox et le ComboBox. - Deux contrôles Textbox nommés
- txtPresentation (Fichier présentation)
- txtTargetFolder (Dossier de stockage). - Un contrôle ComboBox nommé cmbFormats (Extension des images)
- Deux contrôles CommandButton nommés
- cmdExtract et
- cmdCancel dûment intitulés comme dans l'illustration ci-après
J'ai logé les contrôles Textboxes et Labels dans un cadre pour faire plus esthétique et posé un séparateur entre ce dernier et les boutons pour les mêmes raisons.
Vous nommerez cet objet UserForm frmMain.
- Il y a quelques propriétés à définir ici :
- le titre qui est ici "PPS Pictures Extractor"
- la propriété Enabled à False pour les contrôles cmbFormats et cmdExtract
- la propriété Locked à True pour les contrôles txtPresentation et txtTargetFolder
- Vous les disposez de telle sorte à ce que vous obteniez quelque chose ressemblant à l'illustration ci-dessous.
Son module de classe contient l'ensemble du code qui gère notamment :
- l'affichage de la fenêtre de sélection de la présentation,
- l'insertion du nom et du chemin de la présentation dans les contrôles appropriés,
- la sélection du format de sortie,
- l'opération d'extraction des images.
Option Explicit
Const PPT_EXTENSION As String = "ppt"
Const PPS_EXTENSION As String = "pps"
Private Const IMGFORMAT_GIF As String = "GIF"
Private Const IMGFORMAT_JPG As String = "JPG"
Private Const IMGFORMAT_PNG As String = "PNG"
Private Const IMGFORMAT_BMP As String = "BMP"
Private Const IMGFORMAT_WMF As String = "WMF"
Private Sub UserForm_Initialize()
With cmbFormats
.AddItem IMGFORMAT_BMP
.AddItem IMGFORMAT_GIF
.AddItem IMGFORMAT_JPG
.AddItem IMGFORMAT_PNG
.AddItem IMGFORMAT_WMF
End With
End Sub
Private Sub cmbFormats_Change()
cmdExtract.Enabled = (Len(cmbFormats.Text) > 0)
End Sub
Private Sub cmdCancel_Click()
Unload Me
End
End Sub
Private Sub cmdSelectPresentation_Click()
Dim strPresentation As String
Dim strDirectory As String
strPresentation = GetPresentation(strDirectory)
txtPresentation.Text = strPresentation
txtTargetFolder.Text = strDirectory
cmbFormats.Enabled = (Len(txtPresentation.Text) > 0)
End Sub
Private Sub cmdExtract_Click()
Dim strMessage As String
Dim intPictureCount As Integer
Dim strPresentationPathFile As String
strPresentationPathFile = txtTargetFolder.Text & txtPresentation.Text
If IsAValidPresentation(txtPresentation.Text) Then
Presentations.Open strPresentationPathFile, msoCTrue, msoFalse, msoTrue
intPictureCount = ExtractPictureFromSlides(Application.Version, txtTargetFolder.Text, cmbFormats.Text)
If intPictureCount Then
strMessage = Trim(Str(intPictureCount)) & _
IIf(intPictureCount = 1, " image extraite", " images extraites") & _
" de la présentation [" & txtPresentation.Text & "]..."
MsgBox "L´extraction est maintenant terminée..." & vbCrLf & vbCrLf & strMessage, vbInformation, "Fin"
Else
MsgBox "Il n´y a aucune image à extraire dans cette présentation...", vbInformation, "Extraction échouée"
End If
Unload Me
ActivePresentation.Close
Else
MsgBox "Le fichier sélectionné n´est pas une présentation valide !", 48, "Présentation invalide"
End If
End Sub
Private Function ExtractPictureFromSlides(ByVal Version As String, ByVal TargetFolder As String, _
ByVal OutputFormat As String) As Integer
Const IMAGE_NAME As String = "Image"
Dim oPresentation As Presentation
Dim oSrcSlide As Slide
Dim oShapeRange As ShapeRange
Dim oShape As Shape
Dim oTrgSlide As Slide
Dim oTempShape As Shape
Dim I As Integer
Dim strExtension As String
Dim pptFormat As Integer
pptFormat = GetIntFormat(OutputFormat, strExtension)
I = 0
For Each oSrcSlide In ActivePresentation.Slides
For Each oShape In oSrcSlide.Shapes
Select Case oShape.Type
Case msoPicture, msoEmbeddedOLEObject ', msoLinkedOLEObject, msoLinkedPicture
oShape.Export TargetFolder & IMAGE_NAME & Format(I + 1, "000") _
& strExtension, pptFormat
I = I + 1
End Select
Next oShape
Next oSrcSlide
ExtractPictureFromSlides = I
End Function
Private Function GetIntFormat(ByVal OutputFormat, ByRef Extension) As Integer
Dim intPPShpFormat As Integer
Select Case OutputFormat
Case IMGFORMAT_BMP
intPPShpFormat = ppShapeFormatBMP
Case IMGFORMAT_JPG
intPPShpFormat = ppShapeFormatJPG
Case IMGFORMAT_PNG
intPPShpFormat = ppShapeFormatPNG
Case IMGFORMAT_GIF
intPPShpFormat = ppShapeFormatGIF
Case IMGFORMAT_WMF
intPPShpFormat = ppShapeFormatWMF
End Select
Extension = "." & LCase(OutputFormat)
GetIntFormat = intPPShpFormat
End Function
Private Function IsAValidPresentation(ByVal ppFile As String) As Boolean
Dim strExtension As String
strExtension = LCase(Mid(ppFile, InStrRev(ppFile, ".", -1, vbBinaryCompare) + 1))
Select Case strExtension
Case PPT_EXTENSION, PPS_EXTENSION
IsAValidPresentation = True
Case Else
IsAValidPresentation = False
End Select
End Function- L'événement UserForm_Initialize : Rempli le ComboBox avec les 5 extensions de formats de fichiers par la méthode AddItem.
- L'événement cmbFormats_Change : Active le bouton cmdExtract.
- L'événement cmdCancel_Click : Décharge le formulaire et met fin au programme.
- L'événement cmdSelectPresentation_Click : Appelle GetPresentation() afin d'alimenter les TextBoxes puis donne la main au ComboBox.
- L'événement cmdExtract_Click : Permet après vérifications de lancer la procédure d'extraction.
- La procédure ExtractPictureFromSlides : Procédure d'extraction à proprement parler des images.
- La fonction GetIntFormat : Fonction retournant le format selon l'élément choisi dans le ComboBox.
- La fonction IsAValidPresentation : Petite fonction toute simple qui contrôle l'extension de la présentation.
On peut masquer la présentation ouverte en stipulant msoFalse plutôt que msoTrue dans l'appel de l'ouverture de la présentation
via Presentations.Open() au paramètre WithWindow.
Pour ce faire, vous modifierez la ligne contenant :
Presentations.Open(...) par Set oPresentation = Presentations.Open(...)
puis vous ajouterez le paramètre ByVal oPresentation As Presentation à la procédure ExtractPictureFromSlides
Vous n'ometterez alors pas de supprimer la déclaration Dim oPresentation As Presentation dans ExtractPictureFromSlides
et de la déclarer à la place dans cmdExtract_Click ; enfin, n'oubliez pas non plus de libérer l'objet avec Nothing.
Private Sub cmdExtract_Click()
Dim strMessage As String
Dim intPictureCount As Integer
Dim strPresentationPathFile As String
Dim oPresentation As Presentation
strPresentationPathFile = txtTargetFolder.Text & txtPresentation.Text
If IsAValidPresentation(txtPresentation.Text) Then
Set oPresentation = Presentations.Open(strPresentationPathFile, msoTrue, msoFalse, msoFalse)
intPictureCount = ExtractPictureFromSlides(oPresentation, Application.Version, txtTargetFolder.Text, cmbFormats.Text)
'[...]
ActivePresentation.Close
Set oPresentation = Nothing
'[...]
End Sub
Private Function ExtractPictureFromSlides(ByVal oPresentation As Presentation, ByVal Version As String, _
ByVal TargetFolder As String, ByVal OutputFormat As String) As Integer
'[...]
For Each oSrcSlide In oPresentation.Slides
'[...]
Next oSrcSlide
'[...]
End Sub4. Comment cela fonctionne t-il ?▲
1 - Le principe est relativement simple :
Le chargement de l'application entraîne l'exécution de la procédure Auto_Open() qui installe le menu approprié dans le menu Outils.
Lorsque l'utilisateur charge le complément depuis la liste des macros complémentaires (à faire une seule et unique fois) le même phénomène se produit.
2 - Déroulement :
Lorsque l'utilisateur clique sur le menu pour extraire des images d'une présentation, le programme affiche le UserForm afin que la sélection de la présentation soit possible.
Il doit alors choisir la présentation à partir du bouton Parcourir représenté par 3 petits points.
3 - Sélection de la présentation :
Le programme ensuite appelle l'ouverture de la boîte de dialogue des fichiers par le biais de la fonction GetOpenFileName() sur le dernier dossier déjà sélectionné dès la seconde utilisation.
Le paramètre TargetFolder reçoit le chemin alors que la fonction retourne le nom du fichier après avoir décomposé la chaîne complète.
4 - Extraction des images :
Une boucle s'établit donc avec l'exploitation de deux boucles For/Next imbriquées qui pour l'une compte les diapositives et l'autre, les objets ShapeRange susceptibles de contenir une image :
Pour chacun de ces objets, un examen du type correspondant à msoPicture ou msoEmbeddedOLEObject permet de considérer que cela représente une image conforme...
La procédure d'export s'effectue alors avec un compteur de 1 à n et à l'aide de la constante IMAGE_NAME puis compose un nom de fichier du type Image000.jpg incrémenté de 1 à n jusqu'au dernier slide de la présentation.
4 - Visualisation :
Lorsque la cycle a terminé le parcours de toutes les diapositives, un message apparaît pour informer l'utilisateur du nombre d'images extraites si la présentation en contenait.
La présentation sélectionnée est alors fermée...
5. Création du complément▲
La dernière étape consiste à générer le complément.
5-1. Sauvegarde du projet▲
- Commencez par enregistrer votre projet au format Présentation PowerPoint (PPT) sous un nom explicite
de manière à garder une source modifiable ; - Une fois cela fait, testez votre projet en appuyant sur F5 dans la procédure Auto_Open();
5-2. Les tests▲
- Réduisez l'éditeur VBE;
- Sélectionnez dans le menu Insertion la rubrique Extraire les images: la procédure doit s'exécuter aussitôt ;
- Sélectionnez une présentation contenant des images ;
- C'est tout...
5-3. La génération du complément▲
Une fois que vos tests sont concluants, enregistrez votre projet au format Macro complémentaire PowerPoint (PPA).
C'est terminé.
6. Conclusion ▲
Ce tutoriel va vous permettre de connaître l'étendue de quelques possibiltés intéressantes réalisables avec PowerPoint.
Il est évident que cette application n'est pas vouée à être exploitée en tant que telle comme les autres applications Office mais, il peut être intéressant de connaître et mettre en place ce genre de processus pour par exemple, extraire les images et si les droits de copyright vous le permettent, les retoucher ou les exploiter pour une autre utilisation.
Les possibiltés sont relativement vastes compte tenu du fait que ce sont les idées qui vous permettront d'exploiter ce tutoriel.
Si vous rencontrez des difficultés ou si j'ai omis de préciser quelque chose qui reste obscur, n'hésitez pas à m'en faire part.










