Il est impossible de créer une animation complète et sophistiquée pour une présentation
PowerPoint uniquement avec du code VBA. VBA est puissant pour automatiser des tâches et
manipuler des objets PowerPoint, mais il n’est pas conçu pour créer des animations complexes avec
des transitions et des effets visuels élaborés. Pour cela, il est préférable d’utiliser les outils
d’animation intégrés à PowerPoint.
Cependant, je peux vous fournir du code VBA qui automatisera l’insertion du texte de votre SMQ
dans une présentation PowerPoint et ajoutera des animations *simples* comme l’apparition
progressive des titres et des points de liste. L’effet sera limité par les capacités d’animation de base
de VBA.
```vba
Sub CreerPresentationAnimee()
Dim objPPT As Object, objPres As Object, objSlide As Object, objShape As Object
Dim i As Long, strTitre As String, strTexte As String
‘ --- Données de la présentation ---
‘ Remplacez ces données par votre contenu complet
Dim sections As Variant
sections = Array( _
Array(”Système de Management de la Qualité (SMQ) pour NIC”, “Fabrication d’Emballages et Sacs
Plastiques”), _
Array(”1. Introduction”, “Ce Système de Management de la Qualité (SMQ) décrit les politiques,
procédures et objectifs de NIC, société spécialisée dans la fabrication d’emballages et sacs
plastiques, afin de garantir la conformité de ses produits et services aux exigences légales et
réglementaires, ainsi qu’aux attentes de ses clients. Ce document s’appuie sur les 10 ans
d’expérience en QHSE et vise à assurer la satisfaction client, l’amélioration continue et la prévention
de la pollution.”), _
Array(”2. Politique Qualité”, “NIC s’engage à fournir des emballages et sacs plastiques de haute
qualité, conformes aux spécifications clients et aux réglementations en vigueur. Cet engagement
repose sur :”) _
)
Dim points As Variant
points = Array( _
Array(”La satisfaction client”, “Comprendre et répondre aux besoins et attentes de nos clients en
fournissant des produits et services de qualité supérieure.”), _
Array(”Le respect des exigences légales et réglementaires”, “Se conformer à toutes les lois et
réglementations applicables, notamment en matière de sécurité alimentaire, de protection de
l’environnement et de sécurité des travailleurs.”), _
Array(”L’amélioration continue”, “Mettre en place un système de management de la qualité
efficace et dynamique, basé sur l’analyse des données, la prévention des non-conformités et
l’amélioration continue des processus.”) _
‘ --- Création de la présentation ---
Set objPPT = CreateObject(”[Link]”)
[Link] = True
Set objPres = [Link]
‘ --- Boucle pour créer les diapositives ---
For i = 0 To UBound(sections)
Set objSlide = [Link](i + 1, 1) ‘ Ajoute une diapositive titre et contenu
‘ Titre
strTitre = sections(i)(0)
Set objShape = [Link](msoTextOrientationHorizontal, 10, 10, 500, 50)
[Link] = strTitre
[Link] = 24
[Link] = ppAnimateAppear
‘ Sous-titre (si existant)
If UBound(sections(i)) > 0 Then
strTexte = sections(i)(1)
Set objShape = [Link](msoTextOrientationHorizontal, 10, 70, 500, 300)
[Link] = strTexte
[Link] = 18
[Link] = ppAnimateAppear
End If
‘ Points (si existant)
If i = 2 Then ‘Exemple pour les points, adapter selon votre structure
For j = 0 To UBound(points)
strTexte = points(j)(0) & “: “ & points(j)(1)
Set objShape = [Link](msoTextOrientationHorizontal, 10, 70 + (j + 1) *
30, 500, 30)
[Link] = strTexte
[Link] = 16
[Link] = ppAnimateAppear
Next j
End If
Next i
‘ --- Libération des objets ---
Set objShape = Nothing
Set objSlide = Nothing
Set objPres = Nothing
Set objPPT = Nothing
End Sub
```
Ce code est beaucoup plus simple que ce que vous pourriez imaginer pour une animation complète.
Il ajoute seulement une animation d’apparition simple (`ppAnimateAppear`) pour chaque élément
de texte. Pour des animations plus complexes, vous devrez utiliser les fonctionnalités d’animation
directement dans PowerPoint. Ce code vous donne une base pour automatiser la création de la
présentation, mais les animations resteront basiques. N’oubliez pas de remplacer les données
exemples par votre contenu complet.