Les réponses existantes fonctionnent pour le texte qui est présent dans le schéma. Malheureusement, dans mon cas, cela ne couvrait pas une partie importante du texte, y compris les figures, les tableaux, etc.
Cette macro a résolu le problème pour moi :
Sub ChangeProofingLanguageToEnglish()
Dim j, k, m, scount, fcount, gcount As Integer
scount = ActivePresentation.Slides.Count
For j = 1 To scount
fcount = ActivePresentation.Slides(j).Shapes.Count
For k = 1 To fcount
If ActivePresentation.Slides(j).Shapes(k).HasTextFrame Then
ActivePresentation.Slides(j).Shapes(k) _
.TextFrame.TextRange.LanguageID = msoLanguageIDEnglishUS
End If
If ActivePresentation.Slides(j).Shapes(k).Type = msoGroup Then
gcount = ActivePresentation.Slides(j).Shapes(k).GroupItems.Count
For m = 1 To gcount
If ActivePresentation.Slides(j).Shapes(k).GroupItems.Item(m).HasTextFrame Then
ActivePresentation.Slides(j).Shapes(k).GroupItems.Item(m) _
.TextFrame.TextRange.LanguageID = msoLanguageIDEnglishUS
End If
Next m
End If
Next k
Next j
End Sub
La “msoLanguageIDEnglishUS” qui est utilisée dans la macro ci-dessus peut être remplacée par n'importe quelle langue souhaitée. La liste complète des langues peut être trouvée dans cet article
(Le mérite revient à Ganesh Kumar qui a publié la macro originale ici . J'ai ajouté un support pour le premier niveau de regroupement des formes. Pour l'améliorer encore, la macro peut être rendue récursive pour rechercher des groupes qui contiennent d'autres groupes, etc.)