Changer le langage de vérification orthographique sur une présentation PowerPoint

J'ai reçu une présentation PowerPoint avec des douzaines de diapositives, chacune avec un certain nombre de zones de texte. Bien que la présentation soit écrite en anglais, la langue de vérification orthographique est définie sur le français canadien. J'essaie de changer la langue en anglais, mais même si je sélectionne toutes les diapositives et sélectionnez un nouvel élément dans la boîte de dialogue Langue, la langue des zones de texte reste la même. Je dois donc faire glisser par slide 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 sais qu'une réponse a déjà été acceptée (ce que j'ai donné +1, car cela fonctionne et est bien écrit), mais pour certaines personnes, l'idée de créer, de sauvegarder, d'utiliser une macro peut être trop effrayante (ou peut-être avoir des paramètres de sécurité dans Place qui rend cela difficile à réaliser). Donc, une solution plus simple est d'utiliser une fonctionnalité intégrée normale pour le faire. L'astuce consiste à pouvoir sélectionner tous les objets sur toutes les diapositives à la fois, plutôt que les diapositives elles-mêmes, ce qui est facilement réalisé dans la vue du Plan (malheureusement une caractéristique sous-utilisée, mais idéal pour réorganiser un jeu de diapositives, promouvoir et rétrograder Morceaux entiers, p.ex. balises> nouvelles diapositives ou vice versa).

    Je n'ai pas PowerPoint 2002 ("XP"), donc je ne suis pas sûr si vous devez suivre les instructions pour 2000 ou pour 2003, donc je couvre les deux ici:

    • Dans PP 2000 : Passez à la vue de fond, qui est la deuxième icône de gauche en bas à gauche de l'écran (ressemble à des lignes avec indentations).
    • Dans PP 2003 en avant : Passez à la vue "normale" (disposition de trois volets) et en haut du navigateur diaporama choisissez "contour" plutôt que "diapositives"

    Dans les anciennes versions, assurez-vous d'avoir visible la barre d'outils Outlining ( Affichage > Barres d'outils > Décoration ) et cliquez sur le bouton Développer tout (les versions ultérieures vous permettent d'accéder à ce clic droit).

    • Ctrl-A pour sélectionner tout.
    • Outils > Langue > Choisissez votre langue à définir.
    • (À partir de Powerpoint 2013) REVUE > Langue > Définir la langue de vérification

    Travail terminé.

    De même, lorsque vous avez tout sélectionné, vous pouvez changer d'autres choses comme les polices, les couleurs, etc. Bien que, bien sûr, dans de nombreux cas, cela se fasse mieux en changeant le maître de diapositives, une présentation qui a eu de nombreux éditeurs peut avoir beaucoup de format de formatage "dur" S'écarte du maître sous-jacent et doit être réinitialisé pour être cohérent. Vous pouvez également réinitialiser les diapositives individuelles sur le style maître, mais cela peut entraîner l'évacuation des espaces réservés, ce qui peut être indésirable dans certaines situations.

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

    Les étapes que j'ai suivies étaient:

    1. Créer une nouvelle macro:
      1.1. Accédez à Outils, Macro, Visual Basic Editor.
      1.2. Insérez un nouveau module vide en sélectionnant Insérer, 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 

      msoLanguageIDEnglishAUS peut être remplacé par n'importe quelle langue souhaité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 cliquez sur Exécuter).

    Ensuite, tous les éléments de texte de la présentation auront le nouveau langage d'orthographe.

    Après de nombreuses présentations où je l'ai fait à la main ou utilisé une macro unique, j'ai finalement rompu et je suis devenu un complément PowerPoint approprié.

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

    Il s'occupe de:

    • Définir la langue par défaut
    • Toutes les formes avec des cadres de texte
    • Cadres de texte en formes groupées (dans la mesure du possible)
    • Texte dans les tableaux
    • Trucs sur la diapositive / note / document principal

    Il suffit de définir l'une des zones de texte dans la langue souhaitée, sélectionnez-la et cliquez sur le bouton.

    Voici deux options en fonction de votre situation:


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

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

    La seule solution consiste à désinstaller la version française canadienne et à installer à partir d'un support d'installation basé en anglais ou copier / coller l'intégralité de la présentation dans un nouveau document et le reformater.

    .


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

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

    1. Cliquez sur le menu Démarrer
    2. Pointer vers 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. Accédez à la version par défaut de Microsoft Office
    7. Sélectionnez la langue souhaitée
    8. Cliquez sur OK. Un message apparaîtra vous indiquant les changements qui seront apportés.
    9. Cliquez sur Continuer

    J'espère que ça aide.

    J'ai rencontré les mêmes problèmes avec les présentations faites avec German PowerPoint et étant traduit manuellement en anglais. Le problème est que le paramètre de langue est essentiellement un formatage qui s'applique à chaque élément de boîte de texte .

    Je ne suis pas au courant d'une solution pratique: j'ai dû vivre avec le décalage ou changer manuellement le "format" de chaque zone de texte sur chaque diapositive. Pas amusant, donc surtout je vis avec ça.

    Le code publié par Leonardo est simple et généralement efficace, mais cela n'affectera pas Shape s en groupe. Un code plus générique utilise la récursivité pour traiter ce cas aussi (légèrement modifié à partir d' ici , 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