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 :

Insertion d'un slide ppt dans Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Controlling & BI
    Inscrit en
    Mai 2013
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Controlling & BI
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2013
    Messages : 54
    Par défaut Insertion d'un slide ppt dans Excel
    Bonjour,
    J'essaie d'insérer un slide d'une présentation powerpoint dans un fichier Excel via une macro mais sans succès. J'ai essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ActiveSheet.OLEObjects.Add(Filename:="X:\Y\Z\Fichier", Link:=False, DisplayAsIcon:=False).Select
    mais il me faudrait la copie d'un seul slide seulement.
    Est-ce que quelqu'un sait comment faire?
    Merci d'avance.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 652
    Par défaut
    Bonjour,

    Une piste avec le code suivant à copier dans un module standard.
    Il faudra adapter les parties de code cernées par des ###

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    '### Adapter le chemin du .ppt dans la constante ci-dessous ###
    Const PATH_FICHIER_POWERPOINT As String = "c:\test.ppt"
    '##############################################################
     
    '--- Apis pour le presse-papiers ---
    Private Declare Function OpenClipboard& Lib "user32" (ByVal hwnd As Long)
    Private Declare Function EmptyClipboard& Lib "user32" ()
    Private Declare Function CloseClipboard& Lib "user32" ()
    '-----------------------------------
     
    Sub CopierUneDiapo()
    Dim AppPP As Object   'PowerPoint.Application
    Dim PR As Object      'PowerPoint.Presentation
    '---
    On Error GoTo Erreur
    Set PR = GetObject(PATH_FICHIER_POWERPOINT)
    Set AppPP = PR.Application
    PR.Slides(7).Copy   '### adapter le numéro de la diapositive ( Slides(x) ) ###
    ActiveSheet.PasteSpecial Format:="Objet Diapositive Microsoft PowerPoint", _
      Link:=False, DisplayAsIcon:=False
    '--- Nettoyage (ferme les variabless Object) ---
    Erreur:
    If Not PR Is Nothing Then
      PR.Close
      Set PR = Nothing
    End If
    If Not AppPP Is Nothing Then
      AppPP.Quit
      Set AppPP = Nothing
    End If
    If Err <> 0 Then MsgBox "Erreur " & Err.Number & vbCrLf & Err.Description
    '--- Vide le presse-papiers ---
    OpenClipboard 0
    EmptyClipboard
    CloseClipboard
    End Sub
    Bon courage et à plus.

  3. #3
    Membre confirmé
    Femme Profil pro
    Controlling & BI
    Inscrit en
    Mai 2013
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Controlling & BI
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2013
    Messages : 54
    Par défaut
    C'est parfait, merci beaucoup!

  4. #4
    Membre confirmé
    Femme Profil pro
    Controlling & BI
    Inscrit en
    Mai 2013
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Controlling & BI
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2013
    Messages : 54
    Par défaut
    Re-bonjour,
    En fait, je n'arrive pas à vider mon presse-papiers. J'ai copié tes lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Declare Function OpenClipboard& Lib "M887766" (ByVal hwnd As Long)
    Declare Function EmptyClipboard& Lib "M887766" ()
    Declare Function CloseClipboard& Lib "M887766" ()
    avec à la fin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    OpenClipboard 0
    EmptyClipboard
    CloseClipboard
    Ceci déclenche ma message d'erreur, il ne veut pas à partir de la ligne .
    Pour l'application, je suis toujours dans le fichier (il n'est accessible seulement en lecture seule).
    J'ai aussi essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set AppPP2 = Nothing
    Set PR2 = Nothing
    As-tu une idée?

  5. #5
    Membre confirmé
    Femme Profil pro
    Controlling & BI
    Inscrit en
    Mai 2013
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Controlling & BI
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2013
    Messages : 54
    Par défaut
    J'ai fait trop vite... Comme ça, ça marche.Il faut bien d'abord fermer/quitter et ensuite vider.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    PR2.Close
    Set PR2 = Nothing
     
    AppPP2.Quit
    Set AppPP2 = Nothing

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

Discussions similaires

  1. Importer dans excel 1 colonne étalée sur plusieurs slides PPT
    Par tiber33 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 02/10/2013, 14h00
  2. Insertion puis suppression de saut de page dans excel
    Par tarmin dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 16/11/2011, 11h27
  3. Insertion d'une table Access dans Excel
    Par acaly dans le forum IHM
    Réponses: 1
    Dernier message: 26/11/2009, 19h23
  4. insertion d'un Userform (tree) dans excel
    Par kiki99 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 26/08/2008, 08h25
  5. [VB6]Insertion image dans Excel
    Par mosquitout dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 12/04/2006, 16h30

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