web-dev-qa-db-fra.com

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

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 parcourir 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.

40
Leonardo

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
    

    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 en cliquant sur Exécuter).

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

17
Leonardo

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 peut avoir des paramètres de sécurité 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 à être capable de sélectionner tous les objets sur toutes les diapositives à la fois, plutôt que les diapositives elles-mêmes, et cela est facilement réalisé dans la vue Structure (malheureusement une fonctionnalité sous-utilisée, mais idéale pour la réorganisation un jeu de diapositives, favorisant et rétrogradant 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 en partant de la gauche en bas à gauche de l'écran ( ressemble à des lignes avec des indentations).
  • À partir de PP 2003 : passez à la vue "normale" (disposition en trois volets) et, dans la partie supérieure du navigateur de diapositives, choisissez "contour" plutôt que "diapositives"

Dans les versions antérieures, assurez-vous que la barre d’outumage est visible (View > Toolbars > Outlining) et cliquez sur le Expand all bouton (les versions ultérieures vous permettent d'y arriver par un clic droit).

  • Ctrl-A tout sélectionner.
  • Tools > Language > Choisissez votre langue à définir.
  • (de PowerPoint 2013) REVIEW > Language > Définir la langue de vérification

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 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.

33
AdamV

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.

3
Jan Schejbal

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 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 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 Microsoft Office XP Paramètres de langue.
  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.

1
pjemmert

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 séparément.

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 n'affectera pas Shapes dans les groupes. Un code plus générique utilise également la récursivité pour traiter ce cas également (légèrement différent de 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
0
sancho.s