PowerPoint 2019 : changer la cadence d’images (FPS) à l’export vidéo MP4 avec VBA

PowerPoint 2019 n’offre pas d’option graphique pour choisir la cadence d’images (FPS) à l’export MP4. Voici une méthode fiable, rapide et reproductible pour imposer votre FPS (23,976, 24, 25, 30, etc.) grâce à un macro VBA, plus des solutions de repli et un guide de dépannage.

Sommaire

Modifier la cadence d’images lors de l’exportation vidéo dans PowerPoint 2019

Problème posé

Lorsqu’on exporte une présentation en vidéo .MP4, PowerPoint 2019 fixe automatiquement une cadence d’images proche de 30 FPS. L’interface utilisateur ne permet pas de la changer, ce qui complique le respect d’un pipeline vidéo (23,976 FPS pour « 24p », 25 FPS en PAL, etc.) et peut causer du judder ou des désynchronisations audio si vos médias importés n’ont pas la même cadence.

Solution fonctionnelle (VBA)

Étapes rapides

  1. Enregistrer la présentation au format macro‑compatible
    Fichier › Enregistrer sous → choisir .pptm.
  2. Activer l’onglet Développeur
    Fichier › Options › Personnaliser le Ruban → cocher Développeur.
  3. Créer le macro
    Développeur › Macros → nom sans espace (ex. ExportVideoFrameRate) → Créer.
  4. Coller le code VBA (extrait simplifié)
Sub ExportVideoFrameRate()
    If ActivePresentation.CreateVideoStatus <> ppMediaTaskStatusInProgress Then
        ActivePresentation.CreateVideo _
            FileName:=Environ("USERPROFILE") & "\OneDrive\Desktop\Test.mp4", _
            UseTimingsAndNarrations:=True, _
            DefaultSlideDuration:=10, _
            VertResolution:=1080, _
            FramesPerSecond:=23.976, _
            Quality:=100
    End If
    MsgBox "Création de la vidéo…"
End Sub

Points clés :

  • FramesPerSecond fixe la cadence voulue (ex. 23.976, 24, 25, 30).
  • Ajustez VertResolution (1080 pour 1080p, 720 pour 720p), Quality (1–100) et le chemin fichier selon votre besoin.
  • Si l’export échoue dans un dossier synchronisé (OneDrive, etc.), essayez un dossier local (ex. C:\Temp).
  • Compilez avant d’exécuter : Debug › Compile VBA Project, puis F5 pour lancer.

Résolution des problèmes rencontrés

  • Chemin d’accès incorrect : le dossier Desktop peut être redirigé par OneDrive. Remplacez \Desktop\ par \OneDrive\Desktop\ dans le chemin, ou choisissez un dossier local.
  • Synchronisation cloud : les fichiers en cours de synchronisation peuvent causer des erreurs d’écriture. Exportez vers C:\Temp puis déplacez le MP4 terminé.
  • Compilation : utilisez Debug › Compile pour repérer toute faute de syntaxe avant l’exécution.
SymptômeCause probableCorrectif recommandé
Export bloqué à 0 %Chemin non valide ou dossier distantÉcrire vers un dossier local non synchronisé (ex. C:\Temp)
Message d’erreur « Accès refusé »Droits insuffisants / verrouillage par OneDriveExécuter PowerPoint avec les droits appropriés, changer de dossier
FPS final inattenduConversion ultérieure par un autre outil / lecteur qui arronditVérifier les propriétés du fichier MP4, réencoder avec l’outil adéquat si besoin

Comprendre CreateVideo et ses paramètres utiles

La méthode CreateVideo de l’objet Presentation contrôle précisément l’export. Voici les paramètres les plus pertinents pour fixer la cadence et la qualité :

ParamètreRôleValeurs typiquesRecommandations
FileNameChemin complet du MP4 à créerEx. C:\Temp\Export.mp4Éviter les dossiers en sync si vous rencontrez des erreurs
UseTimingsAndNarrationsUtiliser les minutages et narrations enregistrésTrue / FalseTrue si vos transitions/voix-off sont calées
DefaultSlideDurationDurée par diapositive quand aucun minutage n’existeEn secondes (ex. 10)Éviter 0 : prévoir une durée de secours
VertResolutionHauteur vidéo en pixels480, 720, 10801080 pour YouTube et la plupart des usages, 720 pour fichiers légers
FramesPerSecondCadence d’images23.976, 24, 25, 30Alignez-la sur vos médias sources pour éviter le judder
QualityNiveau de qualité (impacte le débit et la taille)110080–100 : qualité élevée; 60–80 : équilibre qualité/taille

Astuce chemin de bureau fiable : pour éviter toute ambiguïté de dossier Desktop (redirigé par OneDrive ou non), récupérez‑le via Windows Script Host :

Dim desktopPath As String
desktopPath = CreateObject("WScript.Shell").SpecialFolders("Desktop")

Macro avancée : version interactive (sélection du fichier, FPS, résolution, qualité)

Cette version vous demande les paramètres au lancement, propose une boîte de dialogue de sauvegarde et attend la fin de l’encodage avant d’afficher un message.

' Déclaration compatible 32/64 bits pour Sleep
#If VBA7 Then
    Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
#Else
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If

Sub ExportVideoFPS_Interactif()
    On Error GoTo Errh

    ' 1) Choisir l’emplacement et le nom du MP4
    Dim cible As String
    With Application.FileDialog(msoFileDialogSaveAs)
        .Title = "Enregistrer la vidéo MP4"
        .InitialFileName = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\Export.mp4"
        If .Show <> -1 Then Exit Sub
        cible = .SelectedItems(1)
        If LCase$(Right$(cible, 4)) <> ".mp4" Then cible = cible & ".mp4"
    End With

    ' 2) Renseigner les paramètres essentiels
    Dim fps As Double, q As Long, v As Long, useT As Boolean
    fps = CDbl(InputBox("Cadence (images/s) — ex. 23,976 / 24 / 25 / 30", "FPS", "25"))
    v = CLng(InputBox("Résolution verticale en pixels (480/720/1080)", "Résolution", "1080"))
    q = CLng(InputBox("Qualité (1–100)", "Qualité", "95"))
    useT = (MsgBox("Utiliser les minutages et narrations enregistrés ?", vbYesNo + vbQuestion, "Timings/Narrations") = vbYes)

    ' 3) Lancer l’export
    With ActivePresentation
        If .CreateVideoStatus = ppMediaTaskStatusInProgress Then
            MsgBox "Une exportation est déjà en cours.", vbExclamation
            Exit Sub
        End If

        .CreateVideo FileName:=cible, _
                     UseTimingsAndNarrations:=useT, _
                     DefaultSlideDuration:=10, _
                     VertResolution:=v, _
                     FramesPerSecond:=fps, _
                     Quality:=q
    End With

    ' 4) Suivre l’avancement (boucle d’attente non bloquante)
    Do While ActivePresentation.CreateVideoStatus = ppMediaTaskStatusInProgress
        DoEvents
        Sleep 500
    Loop

    If ActivePresentation.CreateVideoStatus = ppMediaTaskStatusDone Then
        MsgBox "Export terminé : " & cible, vbInformation
    Else
        MsgBox "Export interrompu.", vbExclamation
    End If
    Exit Sub

Errh:
    MsgBox "Erreur : " & Err.Number & " — " & Err.Description, vbCritical
End Sub

Bonnes pratiques de saisie :

  • Utilisez un point « . » pour la décimale si votre configuration décimale pose problème. Exemple : 23.976.
  • Si la cadence finale semble arrondie par certains lecteurs, validez-la via les Propriétés du fichier (Windows : clic droit › Détails › Cadence d’images).

Vérifier que le FPS demandé est bien appliqué

  • Explorateur Windows : clic droit sur le MP4 › Propriétés › Détails › Cadence d’images.
  • Lecteur strict : certains players affichent un FPS arrondi. Fiez‑vous aux métadonnées du fichier ou à un outil de diagnostic vidéo si vous en disposez.
  • Contrôle visuel : enchaînez des panoramiques/scrolls pour déceler le judder en cas de cadence inadaptée.

Alternatives si VBA n’est pas envisageable

Si vous ne pouvez pas utiliser les macros (politiques de sécurité, etc.), exportez en 30 FPS puis ré‑échantillonnez la vidéo avec un outil tiers gratuit.

Ré‑échantillonner avec ffmpeg

ffmpeg -i input.mp4 -r 23.976 -c:v libx264 -crf 18 -preset slow -movflags +faststart output_23.976.mp4
  • -r 23.976 fixe la cadence.
  • -crf 18 cible une qualité visuelle élevée (valeurs plus hautes = fichier plus léger).
  • -preset slow améliore la compression (au prix d’un encodage plus long).
  • -movflags +faststart optimise la lecture en ligne.

Exemples utiles

ObjectifCommande indicativeRemarques
Convertir 30 → 25 FPSffmpeg -i in.mp4 -r 25 -c:v libx264 -crf 20 out_25.mp4Adapté aux zones PAL (Europe)
Forcer « 24p » exactffmpeg -i in.mp4 -r 24 -c:v libx264 -crf 18 out_24.mp4Alternative à 23,976 FPS
Respecter l’audioffmpeg -i in.mp4 -r 25 -c:a copy -c:v libx264 -crf 20 out.mp4Copie l’audio tel quel (pas de réencodage)

PowerPoint pour le web : à l’heure actuelle, il n’offre pas de réglage d’images/s à l’export. Passez par un éditeur vidéo externe si nécessaire.

Bonnes pratiques complémentaires

  • Tester court avant long : validez FPS, résolution et qualité sur une présentation de 2–3 diapos.
  • Unifier la cadence : si vous avez des vidéos externes (ex. 25 FPS), alignez l’export PowerPoint sur 25 FPS.
  • Chronométrages : en l’absence de minutages, DefaultSlideDuration s’applique. Ajustez‑le pour des transitions fluides.
  • Audio : privilégiez UseTimingsAndNarrations:=True quand vos voix‑off sont calées avec les animations.
  • Qualité : 80–95 suffisent dans la majorité des cas. 100 peut générer des fichiers très volumineux sans gain perceptible.
  • Emplacement d’export : préférez un disque local rapide (SSD) pour réduire les risques d’échec.

FAQ

PowerPoint respecte‑t‑il les valeurs non entières (23,976 FPS) ?
Selon l’environnement, certaines chaînes d’outils affichent un arrondi (24 FPS) même si la cadence cible 23,976. Utilisez l’inspection des Propriétés du fichier pour confirmer la valeur appliquée. En cas d’incompatibilité lecteur/plateforme, ré‑échantillonnez en 24 FPS exact.

Puis‑je viser au‑delà de 30 FPS ?
La majorité des besoins bureautiques restent à ≤ 30 FPS. Si vos usages exigent plus, envisagez un ré‑encodage externe et vérifiez la compatibilité de votre lecteur/plateforme.

Quel impact de Quality ?
Plus la valeur est élevée, plus le débit augmente et la taille du fichier aussi. Commencez à 90–95, baissez si nécessaire pour alléger le MP4.

Pourquoi mon export est plus lent que prévu ?
Le temps dépend du nombre d’animations, des médias intégrés, de la résolution choisie et des performances du PC. Fermez les applications lourdes et écrivez sur un SSD.

Le dossier Bureau diffère de USERPROFILE\Desktop : que faire ?
Le Bureau peut être redirigé vers OneDrive. Récupérez le chemin fiable via :
CreateObject("WScript.Shell").SpecialFolders("Desktop") ou choisissez un dossier local explicitement.

Exemple complet : macro « prête à publier »

Ce « tout‑en‑un » combine bonnes pratiques : sélection de fichier, paramètres interactifs, attente de fin, gestion d’erreur, et chemin Bureau compatible.

#If VBA7 Then
    Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
#Else
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If

Sub ExportVideo_PretAPublier()
    On Error GoTo Errh

    ' Chemin par défaut : Bureau réel (gère OneDrive)
    Dim defPath As String
    defPath = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\Video_PowerPoint.mp4"

    ' Sélection du fichier de sortie
    Dim outFile As String
    With Application.FileDialog(msoFileDialogSaveAs)
        .Title = "Choisir le fichier MP4 de sortie"
        .InitialFileName = defPath
        If .Show <> -1 Then Exit Sub
        outFile = .SelectedItems(1)
        If LCase$(Right$(outFile, 4)) <> ".mp4" Then outFile = outFile & ".mp4"
    End With

    ' Paramètres principaux
    Dim fps As Double, v As Long, q As Long, useT As Boolean, slideSec As Long
    fps = CDbl(InputBox("Cadence (images/s). Ex.: 23.976 / 24 / 25 / 30", "FPS", "23.976"))
    v = CLng(InputBox("Résolution verticale (480/720/1080)", "Résolution", "1080"))
    q = CLng(InputBox("Qualité (1–100)", "Qualité", "95"))
    slideSec = CLng(InputBox("Durée par diapo si pas de minutages (s)", "Durée par diapo", "10"))
    useT = (MsgBox("Utiliser minutages et narrations ?", vbYesNo + vbQuestion, "Timings/Narrations") = vbYes)

    ' Lancer l’export
    With ActivePresentation
        If .CreateVideoStatus = ppMediaTaskStatusInProgress Then
            MsgBox "Une exportation est déjà en cours.", vbExclamation
            Exit Sub
        End If

        .CreateVideo FileName:=outFile, _
                     UseTimingsAndNarrations:=useT, _
                     DefaultSlideDuration:=slideSec, _
                     VertResolution:=v, _
                     FramesPerSecond:=fps, _
                     Quality:=q
    End With

    ' Attendre la fin
    Do While ActivePresentation.CreateVideoStatus = ppMediaTaskStatusInProgress
        DoEvents
        Sleep 750
    Loop

    ' Terminé ?
    If ActivePresentation.CreateVideoStatus = ppMediaTaskStatusDone Then
        MsgBox "Vidéo exportée avec succès : " & outFile, vbInformation
    Else
        MsgBox "Export interrompu. Essayez un dossier local non synchronisé.", vbExclamation
    End If
    Exit Sub

Errh:
    MsgBox "Erreur : " & Err.Number & " — " & Err.Description, vbCritical
End Sub

Correspondances utiles « usage ↔ FPS »

ContexteCadence recommandéePourquoi
Publication type « cinéma » / rendu « film »23,976 FPS (« 24p »)Esthétique cinéma et compatibilité généralisée
Europe, broadcast, contenus 50 Hz25 FPSAlignement PAL, réduction du judder en 50 Hz
Présentations web génériques30 FPSFluidité suffisante, compatibilité très large

Checklist express

  • Fichier en .pptm et onglet Développeur activé.
  • Code collé, projet compilé sans erreurs.
  • Chemin MP4 vers un dossier local (éviter cloud si souci).
  • FramesPerSecond conforme à votre pipeline (23,976/24/25/30).
  • Lecture des Propriétés du MP4 pour valider FPS final.

Conclusion

PowerPoint 2019 ne propose pas de réglage visuel de la cadence d’images, mais son modèle objet, via CreateVideo, permet de la maîtriser finement. Le macro présenté ci‑dessus impose le FPS voulu, choisit la résolution et la qualité, et contourne les problèmes de synchronisation cloud. En cas d’environnement restrictif, l’export en 30 FPS suivi d’un ré‑échantillonnage (par ex. ffmpeg) garantit un résultat final cohérent avec vos exigences de diffusion.


En résumé : la méthode native pour choisir la cadence d’images dans PowerPoint 2019 consiste à utiliser un macro VBA avec CreateVideo et son paramètre FramesPerSecond. Une fois le chemin de sortie correctement défini et la compilation validée, l’export respecte le FPS demandé. À défaut, ré‑encodez la vidéo avec un logiciel tiers.

Sommaire