jeudi 7 août 2014

PowerPoint : une macro pour redéfinir la langue de vérification de tous les zones de texte d’une présentation

Powerpoint-2013 Ce billet fait suite à un problème soulevé sur le forum Answers de Microsoft.

La question posée portait sur la possibilité de redéfinir (ou changer) en une seule fois la langue de vérification dans toutes les diapositives et la solution proposée présentait certains bugs (ou manques). En effet, la langue n’était pas redéfinie dans les cas suivants :

  1. L’espace réservé pour le contenu ne contient pas encore de texte.
  2. La zone de texte a été ajouter manuellement à la diapositive.

Pour contourner cela, je vous propose la macro ci-dessous:

------------------------------------------

Public Sub ChangerLangueVérification()
    '
    ' Macro proposée par Mehdi HAMMADI le 07/08/2014
    '
    ' Objectif : changer la langue de vérification de tous les espaces réservés
    '            et de toutes les zones de texte de la présentation en cours
    Dim DiapoEnCours As Slide
    Dim FormeEnCours As Shape
    For Each DiapoEnCours In ActivePresentation.Slides
        For Each FormeEnCours In DiapoEnCours.Shapes
            FormeEnCours.TextFrame.TextRange.LanguageID = msoLanguageIDFrench
        Next
    Next
End Sub

------------------------------------------

Le principe est simple, parcourir toutes les zone de texte de tous les formes et appliquer la langue souhaitée.

  • Pour le français mettre .LanguageID = msoLanguageIDFrench
  • Pour l’anglais états unis mettre .LanguageID = msoLanguageIDEnglishUS

Testé sous PowerPoint 2013 et 2007

Mots clés Technorati : ,,,,