Activer une référence VB grace à une macro Excel [Résolu]

Messages postés
25
Date d'inscription
lundi 5 mars 2007
Dernière intervention
5 novembre 2008
- - Dernière réponse : killy99
Messages postés
25
Date d'inscription
lundi 5 mars 2007
Dernière intervention
5 novembre 2008
- 3 sept. 2008 à 14:57
Bonjour à tous,

Je travaille sur une macro Excel pilotant Powerpoint. Pour ce faire il faut que j'active la référence "Microsoft Powerpoint XX.X Object Library" dans Visual Basic.

J'ai un petit problème: Pour le moment je ne sais qu'activer la référence à la main ce qui ne me conviend pas car je ne veux pas que les utilisateurs facent cette manipulation. La question est donc de savoir comment automatiser cette activation.

Merci d'avance pour vos réponses.
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
14321
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
13 décembre 2018
3
Merci
Bonjour,

Une fois ton developpement terminé, tu peux modifier ton code :

Dim ppt As PowerPoint.Application
Set ppt = CreateObject("PowerPoint.Application")

En

Dim ppt As Object
Set ppt = CreateObject("PowerPoint.Application")

Et là plus besoin de la référence je pense.
La référence se décoche si tu copie le code, pas si tu copie le fichier normalement.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de NHenry
Messages postés
14321
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
13 décembre 2018
0
Merci
Bonjour,

Activer la référence ? Qu'entends-tu par là ?  Ajouter la référence ?

Commenter la réponse de NHenry
Messages postés
25
Date d'inscription
lundi 5 mars 2007
Dernière intervention
5 novembre 2008
0
Merci
Bonjour Henry,

Sous visual basic(alt+F11 sous excel) dans le menu "Outils" - "Références..." j'active la référence désiré pour un classeur donné. Donc oui nous pouvons dire que je l'ajoute :) .
Commenter la réponse de killy99
Messages postés
14321
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
13 décembre 2018
0
Merci
Bonjour,

Ce que je peux te conseiller (sachant que je ne sais pas comment faire pour ajouter la référence automatiquement), ce serait d'utiliser "CreateObject" afin de pointer vers PPT.

Commenter la réponse de NHenry
Messages postés
25
Date d'inscription
lundi 5 mars 2007
Dernière intervention
5 novembre 2008
0
Merci
Re,

J'arrive à gérer Power point via une macro Excel, pour que la macro d'excel gère Powerpoint il falait que j'active la référence "Microsoft Powerpoint XX.X Object Library", ce que j'ai fait manuellement.

Ce que je désire c'est que quant je fournirai la macro aux utilisateurs ils n'aient pas à activer manuellement la référence, donc l'automatiser dans la macro.

Je cherche donc un snipset du style "PowerPoint.Application.Ref.Maref.activate".

Merci d'avance.

Voici le code provisoire de l'appli(qui n'est pas utile de connaitre pour mon problème):
Public Sub test()

Dim nbslide As Integer

 ' On déclare une variable de type Application PowerPoint

  Dim ppt As PowerPoint.Application

  Set ppt = CreateObject("PowerPoint.Application")

  ppt.Visible = True ' Indispensable, sinon il ne peut pas ouvrir de fichier (Erreur)

  ' On crée maintenant un objet Presentation

  Dim Pres As PowerPoint.Presentation

  ' Et on lui dit de quelle présentation il s'agit :

  Set Pres = ppt.Presentations.Open(Filename:="d:\Documents and Settings\dc42964\Bureau\Dév Macro\MacroPERSO\RSM\MaPresentation.ppt")

  ' On active, sélectionne et copie le Graphique Graphique 1 de Excel :

  ActiveSheet.ChartObjects("Graphique 1").Activate

  ActiveChart.ChartArea.Select

  ActiveChart.ChartArea.Copy

  ' Et on le colle dans la première diapositive de la présentation :

  nbslide = Pres.Slides.Count

  Pres.Slides.Add nbslide + 1, ppLayoutBlank

  Pres.Slides(nbslide + 1).Shapes.AddTextbox(msoTextOrientationHorizontal, 100, 100, 200, 50).TextFrame.TextRange.Text = "Test Box"

  Pres.Slides(nbslide + 1).Shapes.Paste

  ' On enregistre la présentation PowerPoint :

  Pres.Save

  ' Et on quitte PowerPoint proprement :

  ppt.Quit

  Set ppt = Nothing

 

End Sub
Commenter la réponse de killy99
Messages postés
25
Date d'inscription
lundi 5 mars 2007
Dernière intervention
5 novembre 2008
0
Merci
Merci henry;

J'ai toujours besoin de la référence, mais il est vrai que je fourni le fichier aux utilisateurs, ce fichier s'enregistre dans le répertoire XLSTART, du coups la référence est toujours active :).

Merci beaucoup.
Commenter la réponse de killy99

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.