Code VBA pour PPT2007 : besoin de vos lumières !!

Signaler
Messages postés
3
Date d'inscription
vendredi 3 septembre 2010
Statut
Membre
Dernière intervention
13 mars 2011
-
Messages postés
7226
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
24 janvier 2021
-
Bonjour à tous,
je ne sais pas si ma question se trouve dans le bon thème mais je me lance !
j'utilise powerpoint 2007. Et souvent, j'ai besoin d'utiliser des formules mathématiques.
J'ai un petit "logiciel" top sympa qui s'appelle MathType.
Quand je souhaite l'utiliser pendant la création de ma présentation powerpoint, je procède de la manière suivante :
1/ dans l'onglet insertion, je choisis "objet"
2/ dans la nouvelle fenêtre qui s'ouvre ("insérer un objet"), je choisis le logiciel "Mathtype" ; la mention "nouvel objet" étant sélectionnée à gauche puis OK
3/ le logiciel MathType se lance : je rentre ma formule et basta
Sous Word, j'ai pu enregistrer les étapes similaires grâce à l'enregistreur de macro. J'ai ainsi su pu créer un bouton dans la barre d'outil qui me permet de lancer directement Mathtype qd je clique dessus.
Sous PowerPoint l'enregistreur de macro n'existe pas
Donc, je souhaiterai connaître le code VBA (?) que je dois taper pour créer un bouton dans la barre d'outils de PowerPoint qui permet, lorsqu'on clique dessus, de lancer le logiciel qui m'intéresse.
Si vous avez des pistes à me proposer, je prends !!!!
D'avance, MERCI

5 réponses

Messages postés
7226
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
24 janvier 2021
118
Bonjour,
Je vais te donner un exemple avec un bouton pour ouvrir la calculatrice. Il te suffira de mettre le code pour ouvrir ton exe et l'adapter en changeant le nom et l'icône:
Faire alt F11 pour accéder au code
Inserer un module avec ce code:

Sub Auto_Open()
CreeMonBouton
  End Sub
Sub CreeMonBouton()
  Set bar = Application.CommandBars("Standard")
  With bar.Controls.Add(msoControlButton, , , , True)
    .Caption = "Calculatrice"
    .FaceId = 960
    .Tag = 1
     '.Style = msoButtonCaption
    .OnAction = "L_Start"
  End With
  End Sub
Sub L_Start()
 Shell "C:\WINDOWS\system32\calc.exe"
 End Sub


Ensuite enregistrer sous:
Macro complémentaire PowerPoint
Tu fermes en enregistrant normalement
Tu ouvres une nouvelle présentation
Tu vas dans Outils-Macros complémentaire et tu coches Calculatrice dans ce cas et ton bouton apparaitra en haut à droite.
Je pense que cela sera facile si tu l'as dèjà fait sous Word
@+ Le Pivert
Messages postés
3
Date d'inscription
vendredi 3 septembre 2010
Statut
Membre
Dernière intervention
13 mars 2011

Bonjour
tout d'abord, merci pour ta réponse si rapide.
J'ai eu du mal à suivre tes instructions. Donc voici ce que j'ai fait :
Dans PowerPoint 2007 :
Onglet Developpeur>visualbasic
J'ai mis ceci :

Sub MathType()
Auto_Open
End Sub
Sub Auto_Open()
CreeMonBouton
End Sub
Sub CreeMonBouton()
Set bar = Application.CommandBars("Standard")
With bar.Controls.Add(msoControlButton, , , , True)
.Caption = "Calculatrice"
.FaceId = 960
.Tag = 1
'.Style = msoButtonCaption
.OnAction = "L_Start"
End With
End Sub
Sub L_Start()
Shell "C:\Program Files\MathType\MathType.exe"
End Sub
puis fichier>enregrister>"presentation.pptm" (sinon j'ai un message d'erreur me mentionnant qu'il faut que j'enregistre avec une extension qui prend en charge les macros.
Ensuite quand je lance la macro mathtype rien ne se passe.
Si je lance la partie "L_Start" : l'éditeur d'équation (=Mathtyepe) s'ouvre : je rentre ma formule mais qd je ferme la fenêtre de cet éditeur, au lieu de mettre la formule sur la diapositive du powerpoint, on me propose de l'enregistrer

De plus, je n'ai pas trouvé les rubriques "outils-macros complémentaires".
Dans tous les cas, je te remercie d'avoir pris le temps de me proposer une piste déjà bien riche en information.
Messages postés
3
Date d'inscription
vendredi 3 septembre 2010
Statut
Membre
Dernière intervention
13 mars 2011

COMPLEMENT :
sous word, j'avais fait tout en "automatique" : j'avais enregistré mes clics successifs.
Dans la rubrique VBA voici le code :

Sub MathType()
'
' MathType Macro
'
'
Selection.InlineShapes.AddOLEObject ClassType:="Equation.DSMT4", FileName _
:="", LinkToFile:=False, DisplayAsIcon:=False
End Sub

mais quand je copie colle ça dans la rubrique visual basic de Powerpoint ça me met "bug"
Messages postés
7226
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
24 janvier 2021
118
Je suis sous PowerPoint 2003, mais je pense que pour accéder aux codes c'est la même chose. Tu tapes sur le clavier sur la touche alt et F11 en même temps.Tu te trouves dans Pojet VBA Project
Ensuite dans le menu en haut tu cliques sur Insertion et sur Module.
Dans ce module tu copies ceci:
Sub Auto_Open()
CreeMonBouton
  End Sub
Sub CreeMonBouton()
  Set bar = Application.CommandBars("Standard")
  With bar.Controls.Add(msoControlButton, , , , True)
    .Caption = "Calculatrice"
    .FaceId = 960
    .Tag = 1
     '.Style = msoButtonCaption
    .OnAction = "L_Start"
  End With
  End Sub
Sub L_Start()
 Shell "C:\WINDOWS\system32\calc.exe"
 End Sub

C'est tout, ne mets pas Sub MathType() qui ne sert à rien.
Ensuite tu retournes dans ta présentation, tu quittes le code.
Pour enregistrer sous:
Macro complémentaire PowerPoint
En lui donnant un nom et tu fermes en enregistrant sous ce nom .
Tu ouvres une nouvelle présentation.
Dans la barre de menu du haut il y a Outils- Macros complémentaires. Tu cliques dessus et coches le nom que tu as donné à ta présenttion et le bouton doit apparaître. Pour supprimer le bouton il suffit de décocher.
Suis bien ces instructions et cela devrait fonctionner

@+ Le Pivert
Messages postés
7226
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
24 janvier 2021
118
Si cela ne fonctionne pas, va sur ce site, je pense que tu trouveras ton bonheur:

http://dj.joss.free.fr/ruban.htm

D'après mes recherches c'est plus compliqué sur la version 2007. C'est quand même incroyable qu'il fasse de nouvelles versions plus compliquées à utiliser que les précédentes. C'est Microsoft!!!!