Changer la langue de vérification orthographique sur une présentation PowerPoint


42

J'ai reçu une présentation PowerPoint avec des dizaines de diapositives, chacune avec un certain nombre de zones de texte. Bien que la présentation soit écrite en anglais, la langue utilisée pour la vérification orthographique est le français canadien. J'essaie de changer la langue en anglais, mais même si je sélectionne toutes les diapositives et sélectionne un nouvel élément dans la boîte de dialogue Langue, la langue des zones de texte reste la même. Je dois donc aller diapositive par diapositive en sélectionnant les zones de texte, puis en changeant la langue individuellement.

Y a-t-il une meilleure manière de faire cela?

La version de PowerPoint que j'ai installée est 2002 SP3.


Je n'arrive pas à ajouter une réponse (malgré le nombre de représentants suffisant). Pour les utilisateurs de mac: macscripter.net/viewtopic.php?id=38622 fournit un script Apple incroyable qui peut être modifié pour de nombreuses utilisations.
Etienne Low-Décarie le

Voici un résumé de la composition de la pomme mentionnée ci-dessus: gist.github.com/4440395
Etienne Low-Décarie le

Réponses:


35

Je sais qu’une réponse a déjà été acceptée (ce que j’ai donné +1 à puisque cela fonctionne et qu’elle est bien écrite), mais pour certaines personnes, l’idée de créer, enregistrer, utiliser une macro peut sembler trop effrayante (ou avoir des paramètres de sécurité dans endroit qui rend cela difficile à réaliser). Pour ce faire, une solution plus simple consiste à utiliser les fonctionnalités intégrées normales. L'astuce consiste à pouvoir sélectionner tous les objets sur toutes les diapositives à la fois, plutôt que les diapositives elles-mêmes, et cela est facilement réalisable dans la vue Structure (malheureusement, une fonctionnalité sous-utilisée, mais idéale pour réorganiser un jeu de diapositives, promouvoir et rétrograder des morceaux entiers, par exemple des puces> de nouvelles diapositives ou inversement).

Je n'ai pas PowerPoint 2002 ("XP"), donc je ne sais pas si vous devez suivre les instructions pour 2000 ou 2003, je vais donc couvrir les deux ici:

  • Dans PP 2000 : Accédez à la vue d'ensemble, qui est la deuxième icône de gauche en bas à gauche de l'écran (qui ressemble à des lignes avec des indentations).
  • À partir de PP 2003 : accédez à la vue "normale" (disposition en trois volets) et, en haut du navigateur de diapositives, choisissez "Contour" plutôt que "Diapositives".

Dans les anciennes versions, assurez -vous que vous avez la barre d' outils Mode Plan visible ( View> Toolbars> Outlining) et cliquez sur le Expand allbouton (versions ultérieures vous permettent d' obtenir à ce par un clic droit).

  • Ctrl-A tout sélectionner.
  • Tools>> LanguageChoisissez votre langue à définir.
  • ( à partir de Powerpoint 2013) REVIEW> Language> Définir la langue Proofing

Travail accompli.

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 mise en forme "dure" qui s'écarte du maître sous-jacent et doit être réinitialisé pour être cohérent. Vous pouvez également réinitialiser chaque diapositive au 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.


Juste une petite remarque: mettez peut-être la phrase suivante en gras, pour que la solution soit immédiatement claire: dans la vue d'ensemble '
Rabarberski

2
Merci AdamV, bonne réponse! Le problème avec cette approche, cependant, est que, selon la manière dont les zones de texte ont été ajoutées à la diapositive, elles peuvent ne pas apparaître dans la vue hiérarchique. Ce qui était le cas pour presque tous les objets de la présentation que je devais réparer.
Leonardo

Oui, je suppose que si les personnes ajoutent de nombreuses zones de texte indépendantes, celles-ci doivent être sélectionnées à l'aide d'une méthode telle que la macro d'origine publiée.
AdamV

Pour moi, cela ne fonctionnait que sur le texte existant dans PowerPoint 2010. Pour les textes nouvellement ajoutés, la langue changerait encore dans certains cas.
Pieter

C’est de loin le moyen le plus propre de régler ce problème. Cela fonctionne dans la version 2013 aussi.
GoTTimw

18

Ce fil contient la réponse qui a fonctionné pour moi.

Les étapes que j'ai suivies étaient:

  1. Créez une nouvelle macro:
    1.1. Allez dans Outils, Macro, Visual Basic Editor.
    1.2. Insérez un nouveau module vide en sélectionnant Insertion, Module.
  2. Collez ce code sur le panneau de droite et enregistrez la macro:

    Option Explicit  
    Public Sub ChangeSpellCheckingLanguage()  
        Dim j As Integer, k As Integer, scount As Integer, fcount 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 = msoLanguageIDEnglishAUS
                End If
            Next k
        Next j
    End Sub
    

    msoLanguageIDEnglishAUSpeut être remplacé par n'importe quelle langue désirée. La liste complète des langues peut être trouvée ici .

  3. Exécutez la macro (en appuyant sur F5 dans l'éditeur ou en sélectionnant Outils, Macro, Macros, ChangeSpellCheckingLanguage et en cliquant sur Exécuter).

Après cela, tous les éléments de texte de la présentation auront la nouvelle langue d’orthographe.


1
Ce code n'affectera pas les Shapegroupes. Un code plus générique est publié dans superuser.com/a/1119420/245595
sancho.s Reinstate Monica

3

Après de nombreuses présentations où je l'ai fait à la main ou avec une macro unique, j'ai finalement réussi à en faire un complément PowerPoint approprié.

Je l'ai téléchargé sur mon site Web: PowerPoint LanguageFixer

Il s'occupe de:

  • réglage de la langue par défaut
  • toutes les formes avec des cadres de texte
  • cadres de texte en formes groupées (autant que possible)
  • texte dans les tableaux
  • éléments de la diapositive / note / document maître

Il suffit de définir l’une des zones de texte sur la langue souhaitée, de la sélectionner et de cliquer sur le bouton.


1

Voici deux options en fonction de votre situation:


Situation 1: la copie d'origine d'Office a été installée à partir d'un support d'installation basé en français canadien.

Vous pourrez définir la langue par défaut sur l'anglais, mais les fonctions principales utiliseront la langue native du support d'installation.

Le seul correctif consiste à désinstaller la version française canadienne et à installer à partir d'un support d'installation anglais ou de copier / coller la présentation complète dans un nouveau document et de le reformater.

.


Situation 2: tout semble être en anglais, mais des langues étrangères apparaissent dans des circonstances limitées.

Dans cette situation, voici les instructions de réparation pour Office 2002:

  1. Cliquez sur le menu Démarrer
  2. Pointez sur les programmes
  3. Pointez sur Outils Microsoft Office
  4. Cliquez sur Paramètres de langue Microsoft Office XP.
  5. Cliquez sur l'onglet Langues activées.
  6. Aller à la version par défaut de Microsoft Office
  7. Sélectionnez la langue que vous voulez
  8. Cliquez sur OK. Un message apparaîtra vous indiquant les modifications à apporter.
  9. Cliquez sur Continuer

J'espère que ça aide.


Merci pour votre réponse! Ce n'était cependant pas l'une de ces situations. Ce qui se passe, c'est que chaque zone de texte peut être définie dans une langue différente pour la vérification orthographique, et dans ce scénario particulier, tous les éléments avaient la langue incorrecte. La langue par défaut dans le système (et dans l'installation Office) est l'anglais.
Leonardo

0

J'ai eu les mêmes problèmes avec les présentations faites avec PowerPoint allemand et traduites manuellement en anglais. Le problème est que le paramètre de langue est essentiellement une mise en forme qui est appliquée à chaque élément de la zone de texte .

Je ne suis au courant d'aucune solution pratique. J'ai dû soit composer avec le décalage, soit modifier manuellement le "format" de langue de chaque zone de texte de chaque diapositive. Pas amusant, alors je vis surtout avec.


0

Le code publié par Leonardo est simple et généralement efficace, mais il n’affectera pas les Shapegroupes. Un code plus générique utilise également la récursivité pour traiter ce cas (légèrement modifié à partir d' ici , ce qui est dans le même fil que le code de Leonardo):

Private Function ChangeLangOfAllText_caller()
    'ChangeLangOfAllText (msoLanguageIDEnglishUS)
    ChangeLangOfAllText (msoLanguageIDSpanishArgentina)
End Function

Private Function ChangeLangOfAllText(ByVal LangID As Long)
    Dim MySlide As Slide
    Dim MyShape As Shape
    Dim MyD As Design
    Dim MyHeaderFooter As HeaderFooter
    Dim i, nbs As Integer
    ''''' First deal with the master slides
    For Each MyD In ActivePresentation.Designs
        For Each MyShape In MyD.SlideMaster.Shapes
            ProcessShapes MyShape, LangID
        Next MyShape
    Next MyD
    ''''' Now deal with the slides
    ' Enable this for debugging
    'Debug.Print "File " & ActivePresentation.Name & _
      ": working with " & ActivePresentation.Slides.Count & " slides"
    For Each MySlide In ActivePresentation.Slides
        ' Enable this for debugging
        'Debug.Print " Slide index " & MySlide.SlideIndex & ", Slide number " & MySlide.SlideNumber & _
          ": working with " & MySlide.Shapes.Count & " shapes"
        For Each MyShape In MySlide.Shapes
            ProcessShapes MyShape, LangID
        Next MyShape
        ''''' Now deal with the Notes
        For Each MyShape In MySlide.NotesPage.Shapes
            ProcessShapes MyShape, LangID
        Next MyShape
        ''''' Now deal with the master ' doesn't appear to work, have to try something else
        For Each MyShape In MySlide.Master.Shapes
            ProcessShapes MyShape, LangID
        Next MyShape
    Next MySlide
End Function

Private Function ProcessShapes(MyShape As Shape, ByVal LangID As Long)
    Dim i As Integer
    If ((MyShape.Type = msoGroup) Or (MyShape.Type = msoTable)) Then
        On Error Resume Next
        For i = 1 To MyShape.GroupItems.Count
            ''' The trick is to recurse!
            ProcessShapes MyShape.GroupItems.Item(i), LangID
        Next i
    Else
        ChangeLang MyShape, LangID
    End If
End Function

Private Function ChangeLang(MyShape As Shape, ByVal LangID As Long)
    Dim i As Integer
    If (MyShape.HasTextFrame) Then
        ' Enable this for debugging
        'Debug.Print " Shape " & MyShape.ZOrderPosition & ", type: " & MyShape.Type & _
          ", has text frame: " & MyShape.HasTextFrame & ", has text: " & MyShape.TextFrame.HasText & _
          ", alt. text: " & MyShape.AlternativeText
        MyShape.TextFrame.TextRange.LanguageID = LangID
    End If
End Function
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.