IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Liaison Excel et Powerpoint Copier/Coller particulier


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Liaison Excel et Powerpoint Copier/Coller particulier
    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, mais modifiable juste en tableau simple.

    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    'Sélection des données du premier tableau
    Sheets("Données préremplies (A)" ).Select
    Range("B4:H20" ).Select
    Selection.Copy
    'Ouverture du ppt et sélection du slide 4
    Set objApp = CreateObject("PowerPoint.Application" )
    With objApp
        .Activate
        .Presentations.Open Filename:="\\\\plouf.ppt", ReadOnly:=msoFalse
        .ActivePresentation.Slides(4).Select
        .ActivePresentation.Slides(4).Shapes.PasteSpecial(ppPasteDefault, link:=True).Select
    End With
    Quelqu'un a une idée ? Merci d'avance !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Citation Envoyé par latthieu Voir le message
    Quelqu'un a une idée ? Merci d'avance !
    Oui si j'ai compris ce que tu veux.

    Il faudrait recréer ton tableau de A à Z par programmation et remplir les cellules de celui-ci à partir de tes données.

    Tu trouveras un exemple de création dans la FAQ PowerPoint : http://powerpoint.developpez.com/faq...F#creertableau

    Un tableau est composé de lignes (Row), colonnes (Column) et cellules (Cells).

    Philippe

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci Phillippe pour ta réponse.

    J'avais déjà fais un truc de ce style là, où je reconstruisais le tableau avec les données (peut-être il y a plus simple...):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    'Sélection des données du premier tableau
    Sheets("Données préremplies (A)").Select
    Set rngCopy = Range("B4:H20")
     
    Set objApp = CreateObject("PowerPoint.Application" )
    With objApp
        .Activate
        .Presentations.Open Filename:="\\\\plouf.ppt", ReadOnly:=msoFalse
        .ActivePresentation.Slides(4).Select
        With .ActivePresentation.Slides(4).Shapes.AddTable(rngCopy.Rows.Count, rngCopy.Columns.Count, 2, 100)' 
    For lngRow = 1 To rngCopy.Rows.Count
    For lngCol = 1 To rngCopy.Columns.Count
    rngCopy.Cells(lngRow, lngCol).Copy
    .Table.Cell(lngRow, lngCol).Shape.TextFrame.TextRange.Characters.Paste
    Next
    Next
    End With
    Mais cela ne gardait pas du tout la mise en page, écrivait gros etc... Bon, je peux la refaire, mais je trouve que cela alourdit inutilement mon code.


    En fait, le truc c'est que j'y arrive très bien "à la mano" de façon très simple:

    - Sélection du tableau à copier dans l'excel, copier...
    - Ouverture du .ppt, sélection du slide 4
    - clic droit, Options de collage, je choisis le deuxième, "Conserver la mise en forme source (S)", et paf.

    Le tableau que j'ai, a exactement les mêmes données que mon tableau original, mais je peux les modifier dans le powerpoint.

    Si tu penses qu'il n'y a pas d'autres solutions que de tout recoder, je le ferai, mais je trouve cela étonnant car c'est simple de le faire à la main.

    Au lieu de passer par cette solution qui me semble difficile à mettre en place, est-ce que vous pensez qu'il est possible de copier en objet dans le powerpoint, puis au sein du powerpoint, copier juste le tableau ?

    Merci encore pour vos réponses éclairés !!

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bon, j'ai finalement réussi, je poste donc ma solution pour que cela serve aux suivant...

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

  5. #5
    Futur Membre du Club
    Inscrit en
    Juin 2011
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    ton code m'intéresse beaucoup sauf que quand je le lance, une erreur s'affiche et je ne comprends pas à quoi ceci est du :

    "Slide (unknown member) : invalid request. the view does not support selection"

    Quelqu'un pourrait-il m'aider?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Excel vers powerpoint : copier/coller spécial
    Par fabiencal dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/07/2009, 23h31
  2. copier coller particulier
    Par snow190 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/05/2007, 10h21
  3. [Excel] selection et copier-coller de cellule sans activer les sheets
    Par franckB dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 01/04/2007, 23h26
  4. [VBA-E]Excel vers powerpoint : copier/coller spécial
    Par illight dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 06/09/2006, 12h41
  5. [VBA Excel]probleme de copier/coller
    Par ogenki dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 31/01/2006, 14h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo