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 Tableau Excel dans un Slide (VBA)


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 130
    Points : 61
    Points
    61
    Par défaut Insertion Tableau Excel dans un Slide (VBA)
    Bonjour,

    Je viens vers vous car je bloque sur un bout de code VBA.

    En effet je souhaite, à partir d'un fichier Excel, constituer une présentation PowerPoint.
    Jusque là j'ai réussit à mettre en place le code me permettant de remplacer du texte contenu dans des shapes par des valeurs contenues dans des cellules de mon fichier Excel. Là où je bloque c'est lorsque je souhaite importer des tableaux Excel dans un slide.

    J'ai regardé pas mal de discutions à ce sujet mais aucune n'a pu répondre à mes attentes.

    ma version excel et ppt : 2003.

    Pour résumer : j'ai un tableau (nommé) dans un onglet excel et je dois l'insérer dans un slide. Le tableau doit garder la même mise en forme que dans le fichier Excel.

    Je vous remercie d'avance pour votre aide et continue mes recherches.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 130
    Points : 61
    Points
    61
    Par défaut
    Alors je pense avoir trouvé la démarche:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Range(ma_plage).Copy
    pptPres.Slides(x).Select
    pptApp.ActiveWindow.View.paste
    Seul soucis maintenant, c'est que le tableau n'est pas centré et surtout il reste modifiable à la main, ce que je ne souhaite pas.

    J'ai testé le collage spécial (bipmap) mais l'image est de mauvaise qualité sur le powerpoint.

    Avez-vous une idée ?

  3. #3
    Membre actif

    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 61
    Localisation : Luxembourg

    Informations forums :
    Inscription : Septembre 2007
    Messages : 120
    Points : 257
    Points
    257
    Par défaut
    Bonsoir,

    Et si tu copiais le tableau sur Excel et le colles (collage spécial) avec liaison en tant que "Feuille de calcul sur MS Excel" sur ta diapositive, tu résoudrais le problème sans VBA.
    Lorsque tu modifieras le contenu du tableau sur Excel, le contenu de la diapositive sera automatiquement mise à jour. De plus, tu auras une bonne qualité d'image.

    A+

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

    Voici un exemple de code que je viens de faire :

    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
    Public Sub CopieTableau()
     
        ' déclaration
        Dim ApplPPT As PowerPoint.Application
        Dim objPres As PowerPoint.Presentation
        Dim objSld As PowerPoint.Slide
        Dim objSheet As Worksheet
     
        ' affectation
        Set ApplPPT = CreateObject("Powerpoint.Application")
        Set objPres = ApplPPT.Presentations.Add
        Set objSld = objPres.Slides.Add(1, ppLayoutBlank)
        Set objSheet = ActiveWorkbook.Worksheets(1)
     
        objSheet.Range("A1:E7").Copy
        objSld.Shapes.PasteSpecial ppPasteOLEObject
     
        ApplPPT.Visible = True
     
     
    End Sub
    Je récupères les données et le formatage de la feuille 1 de A1 à E7, et je fais une copie dans le premier slide du fichier PowerPoint que je viens de créer.

    Edit
    J'ai vu ton message après sur le forum (avant que je fasses la fusion), essayes les différents paramètres du collage spécial pour voir celui qui te convient.

    Philippe

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 130
    Points : 61
    Points
    61
    Par défaut
    Merci à vous pour votre aide,

    @lorenzole+bo : En fait je ne souhaite pas lier le powerpoint à la feuille de calcul Excel.

    @Philippe JOCHMANS : Merci pour le morceau de code, effectivement avec ce collage les tableau sont un peu mieux proportionnés. Après il reste à les centrer et les agrandir mais je pense pouvoir trouver.

    Par contre, en manipulant mon powerpoint, j'ai trouver un nouveau problème. Il ne s'agit plus de tableau mais de texte.

    sur plusieurs slides j'ai du texte de cette forme là:

    • titre1
      <!--texte1-->
    • titre2
      <!--texte2-->
    • titre3
      <!--texte3-->
    • titre4
      <!--texte4-->


    <!--textex--> : correspond à des balises que je remplace par des valeurs contenues dans la feuille Excel.

    Mon soucis est le suivant : il se peut que la valeur de la balise soit Nulle ("") dans ce cas je souhaite supprimer le titre accompagné de la puce, malheureusement je n'y arrive pas.

    pour le moment j'utilise le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    With pptPres.Slides(INT_SLIDE).Shapes(INT_Shape).TextFrame.TextRange
          .Replace STR_Balise, ""                       
    End With
    merci d'avance pour votre aide.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Re

    La deuxième question doit être faite dans une autre discussion, car le sujet est différent, et là c'est du PPT pur, donc dans le bon forum avec tous les détails

    Si cette discussion est résolue, merci de cliquer sur le bouton

    Philippe

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 130
    Points : 61
    Points
    61
    Par défaut
    Ok je pense avoir finalisé mon Import de tableau.

    Après avoir essayé plusieurs type de collage spécial je me suis positionné sur celui ci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
                Range(ma_plage).Copy
                pptPres.Slides(INT_SLIDE).Select
                pptApp.ActiveWindow.View.PasteSpecial ppPasteMetafilePicture
     
                With pptApp.ActiveWindow.Selection.ShapeRange
                    .Fill.Transparency = 0#
                    .Height = 210.5
                    .Width = 466.38
                    .IncrementLeft -31.62
                    .IncrementTop -63.25
                End With
    Ensuite je joue avec la taille du tableau et son positionnement dans la diapositive.

    Merci pour votre aide ^^

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

Discussions similaires

  1. [W-07] Insertion tableau excel dans Word
    Par bstcricq dans le forum Word
    Réponses: 3
    Dernier message: 24/09/2008, 17h45
  2. Insérer un Tableau excel dans Word via VBA depuis Excel
    Par Godzestla dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 14/05/2008, 08h52
  3. [VBA] Insérer Tableau Excel dans Corps d'un Mail (Outlook)
    Par savior dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 10/10/2006, 11h03
  4. [VBA-E]Insertion graphique Excel dans Word
    Par sat478 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 19/04/2006, 14h26
  5. [VBA] insérer un tableau Excel dans un formulaire
    Par Alexj51 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 08/02/2006, 13h15

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