• Comment créer un bouton qui envoie le fichier en cours ?

  • Comment générer du faux texte ?

  • L'espace fine existe-t-elle dans Word ?

  • A quoi sert l'ancre qui s'affiche quelquefois dans la marge gauche ?

  • Comment attacher un modèle à un document ?

  • PowerPoint et les fichiers MP3

  • Accentuer les majuscules

  • Bonjour les Quickparts, adieu les Insertions Auto !

  • Comment insérer une image en fond de page?

  • Mon clavier perso ou comment personnaliser son clavier

  • Comment faire pour qu'une macro démarre toute seule ?

 
 

Vous souhaitez traduire une présentation déjà créée, il faut donc modifier la langue du correcteur.

Malheureusement, il n'y a pas moyen dans PowerPoint de modifier par défaut cette langue, dans le masque par exemple.

Il faut donc modifier la langue sur chaque diapo ce qui peut être laborieux. Il faut donc  une macro qui le ferait pour vous. Voici donc une macro à associer à une UserForm

Private Sub CommandButton1_Click()
On Error Resume Next


' Declare variables.
Dim sld As Slide
Dim shp As Shape
Dim colShapes As New Collection
Dim p As TextRange
Dim r As TextRange
Dim langue

If Me.OptionButton1 = True Then
langue = msoLanguageIDFrench
langue_id = 1036
l = "française"
ElseIf Me.OptionButton2 = True Then
langue = msoLanguageIDEnglishUS
langue_id = 1033
l = "anglaise"
ElseIf Me.OptionButton3 = True Then
langue = msoLanguageIDSpanish
langue_id = 3082
l = "espagnole"
Else
End If


' fait une boucle sur toutes les diapos de la presentation.
For Each sld In ActivePresentation.Slides
' fait une boucle sur toutes les formes de chaque diapo pour
For Each shp In sld.Shapes
colShapes.Add shp
CheckGroups shp, colShapes
Next
For Each shp In sld.NotesPage.Shapes
colShapes.Add shp
Next
Next
For Each shp In ActivePresentation.SlideMaster.Shapes
colShapes.Add shp
Next
For Each shp In ActivePresentation.TitleMaster.Shapes
colShapes.Add shp
Next
For Each shp In ActivePresentation.NotesMaster.Shapes
colShapes.Add shp
Next
For Each shp In colShapes
If shp.TextFrame.TextRange.LanguageID = 1031 Then
Debug.Print shp.Name
End If
shp.TextFrame.TextRange.LanguageID = langue
Next
MsgBox "Terminé ! la langue active est la langue " & l
ActivePresentation.DefaultLanguageID = langue
Unload Me
End Sub
Sub CheckGroups(shp As Shape, colShapes As Collection)
On Error Resume Next
If shp.GroupItems.Count > 0 Then
For Each g In shp.GroupItems
colShapes.Add g
Next
End If
End Sub


Le document exemple est à télécharger ici.

La macro auto_open permet d'ajouter la commande "Choix du correcteur linguistique" au menu Outils, pour les versions jusqu'à 2003.

NB : Dans cette macro, on a choisi l'anglais américain, le français, et l'espagnol. Vous pouvez personnaliser avec d'autres langues dont vous possédez le dictionnaire.

 

 

 

Nouveau sondage !

Les forums - Outlook ?

 
 
 

Statistiques

2860979
Aujourd'hui1651
Hier2042
Cette semaine3693
Ce mois-ci11865
Depuis janvier 20042860979
Compteur d'affichages des articles
5538375

A lire de toute urgence...

Qui est en ligne ?

Nous avons 73 invités et aucun membre en ligne