Liaison Excel et Powerpoint VBA

Liaison Excel et Powerpoint VBA - VB/VBA/VBS - Programmation

Marsh Posté le 23-06-2011 à 16:38:42    

Bonjour tout le monde,
 
Après plusieurs recherche je me résous à poster ici.
 
Voila, je cherche à copier automatiquement un tableau excel dans un powerpoint. Le problème c'est que ce tableau doit pouvoir être modifiable par quelqu'un qui ouvre le powerpoint.
 
J'arrive, en jouant sur les options du Shapes.PasteSpecial à cpier mon tableau soit en image (et donc non modifiable) soit en tableau lié (qui ouvre l'excel quand on souhaite le modifier).
 
Voici mon code:
 

Code :
  1. 'Sélection des données du premier tableau
  2. Sheets("Données préremplies (A)" ).Select
  3. Range("B4:H20" ).Select
  4. Selection.Copy
  5. 'Ouverture du ppt et sélection du slide 4
  6. Set objApp = CreateObject("PowerPoint.Application" )
  7. With objApp
  8.     .Activate
  9.     .Presentations.Open Filename:="\\\\plouf.ppt", ReadOnly:=msoFalse
  10.     .ActivePresentation.Slides(4).Select
  11.     .ActivePresentation.Slides(4).Shapes.PasteSpecial(ppPasteDefault, link:=True).Select
  12. End With


 
Quelqu'un a une idée ? Merci d'avance !

Reply

Marsh Posté le 23-06-2011 à 16:38:42   

Reply

Marsh Posté le 24-06-2011 à 16:11:38    

latthieu a écrit :

J'arrive, en jouant sur les options du Shapes.PasteSpecial à cpier mon tableau soit en image (et donc non modifiable) soit en tableau lié (qui ouvre l'excel quand on souhaite le modifier).


Bah si tu y arrives, c'est quoi la question ?  :??:


Message édité par SuppotDeSaTante le 24-06-2011 à 16:11:57

---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 24-06-2011 à 16:44:09    

Salut,
 
Le truc c'est que le tableau doit être modifiable facilement sans passer par Excel.  
 
Et ce que j'arrive à faire, c'est soit le copier en image (et donc non modifiable) soit le copier en tant qu'objet lié à mon document d'Excel. Or, ce document doit être, pas soucis de confidentialité, pas transmis via le powerpoint.
 

Reply

Marsh Posté le 30-06-2011 à 19:04:43    

Personne n'a d'idée ?
 
Je suis vraiment bloqué dessus...

Reply

Marsh Posté le 30-06-2011 à 20:32:13    

Desolé, mais je ne comprends pas ton souci. Qu'y a t il de confidentiel dans un fichier Excel lié ou inseré en image dans ppt que tu transmets...?


---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 05-07-2011 à 17:17:53    

Bon, j'ai finalement réussi, je poste donc ma solution pour que cela serve aux suivant...
 

Code :
  1. Sub myPaste()
  2. 'La Presentation est ouverte et la référence à PowerPoint activée
  3. Dim PPApp As PowerPoint.Application
  4. Set PPApp = GetObject(Class:="Powerpoint.Application" )
  5. PPApp.ActiveWindow.ViewType = ppViewSlide
  6. PPApp.ActivePresentation.slides(4).Select
  7. 'EXCEL CODE
  8. Sheets("Données préremplies (A)" ).Select
  9. Range("B4:H20" ).Select
  10. Selection.Copy
  11. 'POWERPOINT CODE
  12. PPApp.ActiveWindow.View.Paste
  13. End Sub

Reply

Marsh Posté le 05-07-2011 à 17:46:21    

Salut, tu pourrais alléger


Sheets("Données préremplies (A)" ).Select
Range("B4:H20" ).Select
Selection.Copy


en


Sheets("Données préremplies (A)" ).Range("B4:H20" ).Copy


 
sans oublier
 


    Set PPApp = Nothing


---------------
Myanmar 90/91 : http://gadaud.gerard.free.fr/publi [...] index.html
Reply

Marsh Posté le 06-07-2011 à 10:09:13    

Merci des conseils !! :)  
 
 :??:  Petite question : pourquoi vider la variable à la fin ? En faisant end sub, il n'y a pas toutes les variables qui se vident automatiquement ?


Message édité par latthieu le 06-07-2011 à 10:09:31
Reply

Marsh Posté le 20-04-2012 à 15:29:42    

Bonjour latthieu,dje69r et kiki29 et les autres... le post est vieux mais je tente quand même!
 
Voilà j'ai absolument le même problème que toi: je souhaite copier des tableaux Excel 2010 vers Powerpoint 2010 en version modifiable directement sur Powerpoint mais en conservant le format source Excel (chose qui ne fonctionne pas avec ton code latthieu...).  
 
J'ai quasisment tout essayé...sans avoir véritablement trouvé...la meilleure solution étant le collage avec lien Excel...[Pres.Slides(NbSlide).Shapes.PasteSpecial DataType:=ppPasteOLEObject, Link:=msoFalse].
 
Mais le problème que j'ai avec ce collage c'est la qualité du tableau qui n'est pas très bonne (surtout si je veux l'agrandir par exemple, modifier la police) puis imprimer mes diapos...
 
En fait ce que je voudrais c'est le code VBA d'un "simple" collage : conserver la mise en forme source(S) (que l'on peut faire manuellement..)mais pour Excel et Powerpoint 2010.
 
Si quelqu'un a une solution je suis preneur!
 
Merci
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed