242 votes

Comment changer la langue de toutes les diapositives Powerpoint en même temps ?

Je veux changer la langue d'épreuvage de toutes mes diapositives dans un Powerpoint. J'ai essayé de définir la langue via le menu des préférences linguistiques, mais cela ne change que pour les nouveaux Powerpoints.

1 votes

Il semble que la dernière version de PowerPoint soit particulièrement boguée à cet égard. J'ai une zone de texte dans laquelle j'ai changé la langue de tout le texte en langue A. (La langue par défaut est B.) Donc, lorsque je commence à taper dans cette zone de texte, la langue change automatiquement en B. J'ai pensé que changer la langue par défaut pourrait aider (après avoir essayé tout le reste) mais non. Maintenant, la langue par défaut est A, la langue de tous les autres textes de la zone de texte est A (et j'ai redémarré PP), mais tous les nouveaux textes apparaissent toujours en B. La seule question qui me reste est la suivante : existe-t-il un moyen de désactiver complètement l'épreuvage ?

0 votes

Oui, il existe un moyen de désactiver la vérification orthographique : support.microsoft.com/fr/us/help/937422/ -- a résolu mon problème !

248voto

IrishJoker Points 157

Pour changer la langue du tout le site PowerPoint facilement, ouvrez le Voir et sélectionnez l'onglet Grandes lignes vue.

Maintenant, appuyez sur

  • Ctrl + A pour tout sélectionner.
  • Outils Langue Choisissez la langue à définir.

De même, lorsque vous avez tout sélectionné, vous pouvez modifier d'autres éléments comme les polices, les couleurs, etc. Bien que, dans la plupart des cas, il soit préférable de modifier le modèle de diapositives, une présentation qui a été éditée par de nombreux éditeurs peut avoir beaucoup de formatage "dur" qui s'écarte du modèle sous-jacent et qui doit être réinitialisé pour être cohérent. Vous pouvez également réinitialiser les diapositives individuelles au style maître, mais cela peut entraîner le déplacement des espaces réservés, ce qui peut être indésirable dans certaines situations.

PowerPoint 2013

  • Voir Grandes lignes sélectionner toutes les diapositives (dans un menu de gauche) via Ctrl + A .
  • Consultez le site Langue Définir la langue d'épreuvage... Choisissez la langue à définir.

Quant à moi - PowerPoint redémarrer était nécessaire. Probablement parce que j'ai aussi changé Langue d'édition :

  • Consultez le site Langue Définir la langue d'épreuvage... Préférences linguistiques Choisir les langues d'édition .

55 votes

Merci pour la réponse, mais après avoir changé la langue, le texte nouvellement tapé est toujours dans la langue précédente (celle par défaut). De plus, si vous allez dans les diapositives principales, sélectionnez le toboggan Vous remarquerez que la langue de la barre de langues est toujours celle par défaut et que le menu permettant de la modifier est grisé. Je deviens fou que ce problème n'ait pas été résolu par Microsoft depuis tant d'années.

1 votes

Génial ! Bien que ce ne soit pas parfait, ça aide certainement. Je suis d'accord avec @Endrju, pourquoi ce n'est pas encore réparé ? !

1 votes

Pour mémoire, dans Office 2013, le menu Langue se trouve dans le volet de révision (Définir la langue d'épreuvage).

38voto

Giel Points 1500

Utilisation de Powerpoint 2010 J'ai ouvert le menu "Outline" -

outline tab

J'ai sélectionné tout le texte (Ctrl+A), ouvert le menu des langues et défini la langue d'épreuvage.

language option

Et ça a marché !

Le menu des langues est situé dans l'onglet du ruban Révision (après l'onglet Diaporama et non visible sur la capture d'écran).

4 votes

Ne fonctionne que pour une seule diapositive

15 votes

Cela fonctionne pour les mises en page de base des diapositives. Elle ne changera pas la langue du texte dans les zones de texte ou imbriqué dans d'autres formes.

0 votes

Fonctionne également sur Office 2007.

31voto

mzs_47 Points 1

J'ai amélioré La réponse de Inigo pour fournir une version récursive qui change tous les éléments dans la langue souhaitée.

Cette version examinera récursivement chaque forme qui est un type de groupe. Une certaine expérimentation suggère que msoGroup y msoSmartArt sont les types de groupes - n'hésitez pas à ajouter à cette liste si vous trouvez d'autres types de formes pouvant contenir des objets texte.

Sub ChangeProofingLanguageToEnglish()
    Dim j As Long, k As Long
    Dim languageID As MsoLanguageID

    'Set this to your preferred language
    languageID = msoLanguageIDEnglishUK

    For j = 1 To ActivePresentation.Slides.Count
        For k = 1 To ActivePresentation.Slides(j).Shapes.Count
            ChangeAllSubShapes ActivePresentation.Slides(j).Shapes(k), _
              languageID
        Next k
    Next j
End Sub

Sub ChangeAllSubShapes(targetShape As shape, languageID As MsoLanguageID)
    Dim i As Long

    If targetShape.HasTextFrame Then
        targetShape.TextFrame.TextRange.languageID = languageID
    End If

    Select Case targetShape.Type
        Case msoGroup, msoSmartArt
            For i = 1 To targetShape.GroupItems.Count
                ChangeAllSubShapes targetShape.GroupItems.Item(i), languageID
            Next i
    End Select
End Sub

2 votes

Lorsque je l'exécute dans PowerPoint 16.10 sous OSX, j'obtiens : Compile error: Method or data member not found

0 votes

Merci beaucoup pour cette solution brillante. Si je veux l'anglais américain, est-ce que je peux juste changer msoLanguageIDEnglishUK a msoLanguageIDEnglishUS ?

0 votes

Un autre problème que je viens de voir est qu'apparemment il ne change pas la langue du texte à l'intérieur des tableaux.

28voto

kiLLua Points 113

Les réponses existantes fonctionnent pour le texte qui est présent dans le plan. 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

Le "msoLanguageIDEnglishUS" utilisé dans la macro ci-dessus peut être remplacé par toute langue souhaitée. La liste complète des langues se trouve dans cet article

(Le crédit revient à Ganesh Kumar qui a posté la macro originale. aquí . J'ai ajouté le support du 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.)

0 votes

+1 Bon départ. Voir ma réponse pour une version entièrement récursive basée sur cette réponse.

16voto

Abid A Points 1502

D'après les réponses d'Inigo, Duncan, Maria et DomDev, cela fonctionne pour les formes, les tableaux, les groupes, SmartArt, maintenant et dans le futur :

Sub ChangeProofingLanguageToFrench()
    Dim j, k As Integer
    Dim languageID As MsoLanguageID

    'Set this to your preferred language
    languageID = msoLanguageIDFrench

    'Loop all the slides in the document, and change the language
    For j = 1 To ActivePresentation.Slides.Count
        For k = 1 To ActivePresentation.Slides(j).Shapes.Count
            ChangeAllSubShapes ActivePresentation.Slides(j).Shapes(k), languageID
        Next k
    Next j

    'Loop all the master slides, and change the language
    For j = 1 To ActivePresentation.SlideMaster.CustomLayouts.Count
        For k = 1 To ActivePresentation.SlideMaster.CustomLayouts(j).Shapes.Count
            ChangeAllSubShapes ActivePresentation.SlideMaster.CustomLayouts(j).Shapes(k), languageID
        Next k
    Next j

    'Change the default presentation language, so that all new slides respect the new language
    ActivePresentation.DefaultLanguageID = languageID
End Sub

Sub ChangeAllSubShapes(targetShape As Shape, languageID As MsoLanguageID)
    Dim i As Integer, r As Integer, c As Integer

    If targetShape.HasTextFrame Then
        targetShape.TextFrame.TextRange.languageID = languageID
    End If

    If targetShape.HasTable Then
        For r = 1 To targetShape.Table.Rows.Count
            For c = 1 To targetShape.Table.Columns.Count
                targetShape.Table.Cell(r, c).Shape.TextFrame.TextRange.languageID = languageID
            Next
        Next
    End If

    Select Case targetShape.Type
        Case msoGroup, msoSmartArt
            For i = 1 To targetShape.GroupItems.Count
                ChangeAllSubShapes targetShape.GroupItems.Item(i), languageID
            Next i
    End Select
End Sub

0 votes

En ce qui concerne les autres solutions, lorsque je l'exécute dans PowerPoint 16.10 sur OSX, j'obtiens : Compile error: Method or data member not found . Des suggestions de solutions ? Il semble mettre en évidence .DefaultLanguageID .

0 votes

@EtienneLow-Décarie : L'API a peut-être changé dans PowerPoint 16 ; je ne l'ai pas donc je ne peux pas vérifier, désolé.

0 votes

Fonctionne pour moi dans Powerpoint 2016 sur Windows 7 (la version exacte de MS Office est 16.0.11029.20108)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X