Extraire un plan d'un fichier un excel

eric67 -  
cs_Le Pivert Messages postés 8437 Statut Contributeur -
Bonjour
J e n'arrive pas à extraire un plan d'un fichier excel pour le transfèrer ensuite dans powerpoint .
Pouvez vous m'aider svp ?
Merci
eric67

1 réponse

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Bonjour,

    En parlant de plan tu dois vouloir dire un graphique.

    Voici la manière de copier un graphique dans une présentation PPT en vba

    Faire Alt F11 pour accéder au VBE. Ensuite Insérer un module et y mettre ce code:

    'Allez dans Outils-Références-Cochez Microsoft PowerPoint 11.0 Object Library
    Option Explicit
    Sub Inserer_graph()
    Dim PptDoc As PowerPoint.Presentation
    Dim Diapo As PowerPoint.Slide
    Dim Sh As PowerPoint.Shape
    Dim Cs1 As ColorScheme
    Dim NbShpe As Integer
    
    Dim PptApp As Variant
    Set PptApp = CreateObject("Powerpoint.Application")
    Set PptDoc = PptApp.Presentations.Add
    
    With PptDoc
    '--- Ajoute un nouveau slide
    Set Diapo = .Slides.Add(Index:=1, Layout:=ppLayoutBlank)
    
    'copie le 1er graphique contenu dans la feuille Excel active
    ActiveSheet.ChartObjects(1).Copy
    'collage dans la 1ère diapositive
    Diapo.Shapes.Paste
    
    'Compte le nombre de shapes dans la diapositive:
    'le dernier objet inséré correspond à l'index le plus élevé
    NbShpe = Diapo.Shapes.Count
    
    'Renomme et met en forme l'objet collé
    With Diapo.Shapes(NbShpe)
    .Name = "monGraph" 'personnalise le nom
    .Left = 150 'définit la position horizontale dans le slide
    .Top = 100 'définit la position verticale dans le slide
    .Height = 300 'hauteur
    .Width = 400 'largeur
    End With
    
    End With
    
    'Sauvegarde la présentation
    'dans le meme répertoire que le classeur excel contenant la macro.
    PptDoc.SaveAs FileName:=ThisWorkbook.Path & "" & "NouvellePresentation_graph.ppt" 'enregistrer avec le classeur Excel, à modifier le chemin si besoin
    'ferme la presentation
    PptDoc.Close
    'ferme powerpoint
    PptApp.Quit
    
    MsgBox "Opération terminée."
    
    End Sub
    


    Ensuite inserer un UserForm et y mettre un bouton. Cliquez sur le bouton et mettre ce code:

    Private Sub CommandButton1_Click()
    Inserer_graph
    End Sub


    Ensuite cliquez sur F5 pour compiler
    0