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

152

Bien que ce fil soit assez ancien, Microsoft n'a fourni aucune solution à ma connaissance. Je suggère une autre approche pour les utilisateurs de Mac: ouvrez votre présentation dans Keynote, modifiez la langue d’orthographe et éventuellement modifiez-la en entier, puis exportez-la au format PowerPoint.

liamzebedee
la source
1
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 tous les textes en langue A. (La langue par défaut est B.) Ainsi, lorsque je commence à taper dans cette zone de texte, la langue passe automatiquement en B. Je pensais peut-être changer la langue par défaut. la langue aide (avoir tout essayé) 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 tout nouveau texte apparaît toujours en tant que B. Ma seule question qui reste est celle-ci: existe-t-il un moyen de passer de l'épreuvage à l'épreuve? tout à fait?
lebatsnok
Oui, il existe un moyen de désactiver la vérification orthographique: support.microsoft.com/en-us/help/937422/… - a résolu mon problème!
lebatsnok

Réponses:

166

Pour changer facilement la langue de l' ensemble du PowerPoint, ouvrez l' onglet Affichage et sélectionnez la vue Structure .

Maintenant, appuyez sur

  • Ctrl+ Apour tout sélectionner.
  • OutilsLangue → Choisissez votre langue à définir.

De même, lorsque vous avez tout sélectionné, vous pouvez modifier d'autres éléments, tels que les polices, les couleurs, etc. Bien que, dans de nombreux cas, il soit préférable de modifier le masque des diapositives, une présentation comportant de nombreux éditeurs peut comporter de nombreux ensembles de formatage «dur» qui s'écarte du maître sous-jacent et doit être réinitialisé pour être cohérent. Vous pouvez également réinitialiser des diapositives individuelles sur le style principal, mais cela peut également entraîner le déplacement des espaces réservés, ce qui peut être indésirable dans certaines situations.

PowerPoint 2013

  • AffichageContour → sélectionnez toutes les diapositives (dans un menu de gauche) via Ctrl+ A.
  • RévisionLangueDéfinir la langue de vérification ... → Choisissez la langue à définir.

Quant à moi - le redémarrage de PowerPoint était nécessaire. Probablement parce que j'ai aussi changé de langue d'édition :

  • RéviserLangueDéfinir la langue de vérification ...Préférences de langueChoisissez Édition des langues .
Mastergalen
la source
31
Merci de votre réponse, mais après avoir changé de langue, le texte nouvellement saisi est toujours dans la langue précédente (celle par défaut). De plus, si vous allez dans les diapositives principales, sélectionnez la diapositive , vous remarquerez que la langue dans la barre de langue est toujours celle par défaut et que le menu pour la modifier est grisé. Je deviens fou de voir que cela n’a pas été résolu par Microsoft depuis tant d’années.
Fin
1
Impressionnant! Bien que ce ne soit pas parfait, cela aide certainement. Je suis d'accord avec @Endrju, pourquoi cela n'est-il pas encore résolu?!
Mike
1
Pour mémoire, dans Office 2013, le menu Langue se trouve dans le volet Révision (Définir la langue de vérification)
Maria Ines Parnisari
2
Powerpoint est vraiment terrible, n'est-ce pas? En fait, l’utilisation du bureau ouvert me manque lorsque j’ai des problèmes de ce genre. Je serai de retour au bureau ouvert dès qu'ils prendront en charge l'enregistrement en vidéo.
mjaggard
2
La principale limite de ceci est que si quelqu'un dans leur sagesse infinie crée une zone de texte personnalisée au lieu d'utiliser les présentations Titre + Contenu appropriées, cela ne fonctionnera tout simplement pas.
Lilienthal
34

À l'aide de Powerpoint 2010, j'ai ouvert le menu Plan -

onglet aperçu

Sélection de tout le texte (Ctrl + A), ouverture du menu Langue et définition de la langue de vérification

option de langue

Et ça a marché!

Le menu de langue est situé sur l’onglet Réviser (après l’onglet Diaporama et non visible sur la capture d’écran).

liamzebedee
la source
4
Ne fonctionne que pour une seule diapositive
Helge Klein
9
Cela fonctionne pour les dispositions de diapositives de base. Cela ne changera pas la langue du texte dans les zones de texte ou imbriqué dans d'autres formes.
Duncan Jones
Fonctionne également sur Office 2007.
Alfredo Osorio
Travaillé sur Office Mac aussi.
Jim McKeeth
23

Les réponses existantes fonctionnent pour le texte présent dans le plan. Malheureusement, dans mon cas, cela ne couvrait pas une partie importante du texte, y compris des figures, des 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 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 posté la macro originale ici . J'ai ajouté le support pour le groupe de formes de premier niveau. Pour l'améliorer encore, la macro peut être rendue récursive pour rechercher des groupes contenant d'autres groupes, etc.)

Inigo
la source
+1 bon début. Voir ma réponse pour une version entièrement récursive basée sur cette réponse.
Duncan Jones
20

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

Cette version examinera récursivement chaque forme qui est un type de groupe. Certaines expériences suggèrent cela msoGroupet msoSmartArtsont les types de groupe - 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
Duncan Jones
la source
1
En exécutant ceci dans PowerPoint 16.10 sur OSX, je reçois:Compile error: Method or data member not found
Etienne Low-Décarie le
10

Basé sur les réponses d'Inigo, Duncan, Maria et DomDev, cela fonctionne pour les formes, les tableaux, les groupes, SmartArt, maintenant et à l'avenir:

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
tricasse
la source
Quant aux autres solutions, lors de l' exécution sur ce dans PowerPoint 16,10 sur OSX, je reçois: Compile error: Method or data member not found. Des solutions suggérées? Il semble mettre en évidence .DefaultLanguageID.
Etienne Low-Décarie
@ 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é.
Tricasse
Fonctionne pour moi dans Powerpoint 2016 sur Windows 7 (la version exacte de MS Office est 16.0.11029.20108)
Christopher K.
Parfait! La seule amélioration à laquelle je pouvais penser est de changer la langue pour les sections de notes de diapositives aussi :)
Marcus Mangelsdorf
7

La version de Duncan fonctionne bien pour tout sauf les tables. J'ai trouvé un autre code qui semble également fonctionner avec les tables: https://stackoverflow.com/questions/4735765/powerpoint-2007-set-language-on-tables-charts-etc-that-contains-text

Public Sub changeLanguage()
    On Error Resume Next
    Dim gi As GroupShapes '<-this was added. used below
    'lang = "English"
    lang = "Norwegian"
    'Determine language selected
    If lang = "English" Then
        lang = msoLanguageIDEnglishUK
    ElseIf lang = "Norwegian" Then
        lang = msoLanguageIDNorwegianBokmol
    End If
    'Set default language in application
    ActivePresentation.DefaultLanguageID = lang

    'Set language in each textbox in each slide
    For Each oSlide In ActivePresentation.Slides
        Dim oShape As Shape
        For Each oShape In oSlide.Shapes
            'Check first if it is a table
            If oShape.HasTable Then
                For r = 1 To oShape.Table.Rows.Count
                    For c = 1 To oShape.Table.Columns.Count
                    oShape.Table.Cell(r, c).Shape.TextFrame.TextRange.LanguageID = lang
                    Next
                Next
            Else
                Set gi = oShape.GroupItems
                'Check if it is a group of shapes
                If Not gi Is Nothing Then
                    If oShape.GroupItems.Count > 0 Then
                        For i = 0 To oShape.GroupItems.Count - 1
                            oShape.GroupItems(i).TextFrame.TextRange.LanguageID = lang
                        Next
                    End If
                'it's none of the above, it's just a simple shape, change the language ID
                Else
                    oShape.TextFrame.TextRange.LanguageID = lang
                End If
            End If
        Next
    Next End Sub
Maria
la source
5

En plus de la réponse fournie par Mastergalen et des commentaires concernant le nouveau texte:

Si vous remarquez que cette langue changera automatiquement à chaque fois que vous commencerez à taper du nouveau texte (ce qui est très pénible), vous devez changer la langue par défaut de PowerPoint:

  • assurez-vous que la fenêtre PowerPoint est une fenêtre active
  • dans le Windows Taskbar(oui, en fait pas dans PowerPoint), vérifiez si Language barest visible,
    • sinon aller à Control Panel > Region and Language > Keyboards and Languages. Cliquez sur Change keybords..., passez à l' Language baronglet et cochez l' Docked in the taskbaroption. (Ceci est de Win7, donc peut-être un peu différent dans d'autres versions).
  • Maintenant, action clé - dans la Language barbarre des tâches, cliquez sur le code de langue et passez en EN (si vous souhaitez utiliser l'anglais dans PowerPoint). A partir de maintenant, tout nouveau texte dans PowerPoint sera dans la langue sélectionnée :-)
  • si vous voulez écrire dans votre langue d'origine, changez-la.
Gaz
la source
1
Oh mon Dieu, pourquoi feraient-ils quelque chose comme ça?! Merci, a parfaitement fonctionné.
Thibault D.
1
Exactement! devrait également être ajouté à la réponse acceptée.
M. Abdelhafid
1
Mais cela change aussi la disposition du clavier, n'est-ce pas? ... Je veux taper du texte anglais mais je veux vraiment garder ma disposition du clavier allemand ....
Johannes S.
2
@JohannesS. Si vous cliquez Enavec le bouton droit de la souris dans la barre des tâches et sélectionnez, Settings..vous verrez s'afficher dans les langues installées allemand (DE) et anglais (En), si vous développez l'anglais, une Keyboardsliste s'affichera , développez Claviers, puis ajoutez votre clavier allemand préféré, supprimez probablement celui de l'anglais. aussi. Je ne l'ai pas essayé, mais cela devrait fonctionner en théorie ;-)
Gas
Attendez, je dois donc changer la langue de mon clavier si je veux utiliser une autre langue d’épreuvage? C'est stupide.
Matěj Račinský le
3

J'ai fait un complément en 2014 pour moi-même, qui fonctionne toujours dans PowerPoint 2016. https://github.com/wobba/officeaddin/releases/tag/v1.0.1

Il recherche les langues utilisées et vous permet de tout changer en même temps, en boucle.

entrez la description de l'image ici

Mikael Svenson
la source