Lien entre PowerPoint & Excel...

  • Initiateur de la discussion Doug
  • Date de début
D

Doug

Guest
Lien entre PowerPoint & Excel...

c'est assez simple dans l'idée :

1- sous excel j'ai inséré une "toupie" qui me permet de faire varier des valeurs dans mon tableau donc l'allure de mon graphique :)))))

2- sous powerpoint, j'ai inséré en collage spécial (lien dynamique) cette feuille de calcul avec le graphique "dynamique" (décidément, tout est dynamique dans mon truc !)

question à 100 balles : comment faire une présentation mortelle qui, par le truchement des boutons de navigation de powerpoint (Diaporama>Boutons d'action) permet d'atteindre mes boutons "augmenter" ou "diminuer" de la "toupie" sous Excel ?

j'ai essayé d'enregistrer une macro :
double click sur le graphique (donc ouverture du fichier lié sous excel) + click sur le bouton "augmenter" de la toupie (dans excel):

Sub augmenterVOIP()
'
' Macro enregistrée le 03/05/02 par ***** ;-)))
'

ActiveWindow.Selection.SlideRange.Shapes("Object 7").Select
ActiveWindow.Selection.ShapeRange.OLEFormat.DoVerb Index:=1
End Sub


j'ai regardé l'aide VB sur "DoVerb" mais bon, je suis un peu perdu...
 
S

Stéphane

Guest
Re: Lien entre PowerPoint & Excel...

'après trois minutes, voilà une première piste qui te montrera comment manipuler des objets dans excel; par contre je ne sais pas si la mise à jour sous powerpoint se fera automatiquement !

peut-être faudra-t-il sauver le document excel ?

Sub h()
Dim xlApp As Object ' Déclare la variable devant
' contenir la référence.

Set xlApp = CreateObject("excel.application")
' Peut-être devrez-vous attribuer la valeur True à
' la propriété Visible pour visualiser
' l'application.
xlApp.Visible = True
' Utilise xlApp pour accéder aux autres objets de
' Microsoft Excel.
xlApp.workbooks.Open "Moyennes-2.xls"
xlApp.activeworkbook.Sheets(1).Shapes("Défilement 2").controlformat.Value = 50
xlApp.Quit ' Une fois terminé, utilise la méthode
' Quit pour fermer
Set xlApp = Nothing ' puis libère la référence.
End Sub



bye
stephane
 
D

Doug

Guest
Re: Lien entre PowerPoint & Excel...

merci pour le code, mais le soucis c'est que je dois lancer tout ça depuis powerpoint...je suis à cheval entre 2 applis, c'est plutot coton...je crois que c'est plus simple de faire varier les valeurs directement dans Excel, finalement ;-)

merci pour tes réponses aussi rapides, ça fait plaisir un forum comme ça où les gens sont bien élevés :->


ps : si jamais tu entends parler d'une macro d'une application office qui en commande une autre, tu peux toujours la poster sur le forum !
 
S

Stéphane

Guest
Re: Lien entre PowerPoint & Excel...

et bien justemnt le code bien qu'incomplet que je t'ai donné te montre
comment manipuler excel à partir de powerpoint.

le travail n'est pas mâché et iil y a encore beaucoup de choses à faire, c'est pas un sujet très défloré

tu peux poser ta question sur
<news://msnews.microsoft.com/microsoft.public.fr.excel >
voir <http://xlbysteph.free.fr> nombreux points abordés sur excel

bye
steph
 
S

Stéphane

Guest
Re: Lien entre PowerPoint & Excel...

soit un objet "barre de défilement" dessiné dans un classeur excel "moyennes-2.xls" avec la barre d'outils "Formulaires", plus un graphique dans ce même classeur excel. On peut faire varier le graphique si la valeur de ses données dépend de la valeur de la barre de défilement.

on crée une copie liée du grpahique dans powerpoint et ensuite à partir de VBA Powerpoint on peut utiliser le code ci-dessous pour faire varier les données du graphique, le changement est de suite visible sous powerpoiny



Public objApp As Object

Public Function OpenApp(strClassName As String, ShowIt As Boolean) As Boolean
Dim objAppTemp As Object

On Error Resume Next

Set objAppTemp = GetObject(, strClassName)

If Err.Number <> 0 Then 'app is not running
Err.Clear
Set objAppTemp = CreateObject(strClassName)
End If

objAppTemp.Visible = ShowIt

On Error GoTo 0

If Not objAppTemp Is Nothing Then
OpenApp = True
Set objApp = objAppTemp
End If

End Function

Sub h()
Dim xlApp As Object ' Déclare la variable devant
' contenir la référence.


If OpenApp("Excel.Application", True) = True Then
With objApp
On Error Resume Next
Debug.Print (.workbooks("Moyennes-2.xls").Name)
objApp.workbooks("Moyennes-2.xls").Activate
If Err Then Debug.Print Err.Number: objApp.workbooks.Open "Moyennes-2.xls"

'changer la valeur pour démo
objApp.activeworkbook.Sheets(1).Shapes("Défilement 2").controlformat.Value = 20


End With
Else
MsgBox "Can't start application!"
End If

End Sub
 
D

Doug

Guest
Re: Lien entre PowerPoint & Excel...

merci pour le code !

un petit soucis : je suis un débutant et je ne sais pas bien utiliser ce script... j'arrive à le lancer comme macro (mais ça ne fait qu'ouvrir Excel, ça ne change pas la valeur de ma "barre de défilement" (j'ai mis à jour son nom dans le code et le nom de mon fichier EXcel)), mais je n'ai pas l'option dispo pour l'associer à un bouton sur PowerPoint...

notemment sous VBA, je ne sais pas comment faire pour que la macro ci-dessus soit déclenchée : sur l'évènement _Scroll() par exemple :

Private Sub ScrollBar1_Scroll()
Sub h()
End Sub
End Sub

?

à quoi correspond la partie :

Public object...
...
...
...
End Function

?

merci !
 

Discussions similaires