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

VBA PowerPoint Discussion :

[PPT-VBA] Comment exporter un slide vers Excel


Sujet :

VBA PowerPoint

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 108
    Par défaut [PPT-VBA] Comment exporter un slide vers Excel
    Bonjour,

    Après avoir parcouru le forum ,je bloque sur une procédure qui me permettrait de copier un slide powerpoint et de le coller sur Excel.

    La dessus ,est-il possible de :

    sur un slide (avec du texte ,et sous forme de tableau de 4 colonnes),de copier que 3 colonnes sur Excel ?

    de faire une boucle en prenant uniquement les slides avec le titre :"Tableau de classe" ?


    Merci d'avance de votre aide,

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

    On est bien d'accord, c'est le contenu de ta diapositive et non celle-ci que tu veux transférer ?

    C'est tout à fait possible, mais il faut plus de détails :

    • Le titre est-il dans un zone réservée ou une simple zone de texte ?
    • Tes données sont dans un tableau ou réparties dans plusieurs zones de textes ?
    • Quelle est la version de PowerPoint ?
    • Veux-tu faire cela à partir de PowerPoint ou d'Excel ?



    Philippe

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 108
    Par défaut
    Bonjour Philippe,

    On est bien d'accord, c'est sur le contenu de la diapo
    C'est tout à fait possible, mais il faut plus de détails :

    Le titre est-il dans un zone réservée ou une simple zone de texte ?
    C'est une zone de texte
    Tes données sont dans un tableau ou réparties dans plusieurs zones de textes ?
    C'est un tableau ; A titre perso, cela est possible dans les deux cas (ou ca change la méthode?)Quelle est la version de PowerPoint ?
    2000 SP3
    Veux-tu faire cela à partir de PowerPoint ou d'Excel ?
    Idéalement Powerpoint ,mais pourquoi pas sur Excel (car je pense que ca sera plus simple sur excel!)
    Merci de ton aide en tout cas!

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 108
    Par défaut
    Bonjour,

    Par rapport à mes réponses en gras, pas de pistes pour m'aider un peu ?

  5. #5
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    bonsoir,

    voila ce que je comprends du texte en gras, j'ai fais cela dans VBA-PPT, coche la référence à Excel :


    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
    Sub ExtraitTexte()
     Dim yaExcel As New Excel.Application
     Dim yaWk As Excel.Workbook
     Dim s As Slide
     Dim yaSa As Shape
     Dim i As Integer
     '
     ' Création Classeur
     '
     Set yaWk = yaExcel.Workbooks.Add
     yaWk.Sheets(1).Cells(1, 1) = "Slide"
     yaWk.Sheets(1).Cells(1, 2) = "Texte"
     i = 1
     For Each s In ActivePresentation.Slides
        For Each yaSa In s.Shapes
            If yaSa.HasTextFrame Then
                i = i + 1
                yaWk.Sheets(1).Cells(i, 1) = s.Name
                yaWk.Sheets(1).Cells(i, 2) = yaSa.TextFrame.TextRange
            End If
        Next
     Next
     yaExcel.Visible = True
    End Sub

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 108
    Par défaut
    Bonjour JackOuYA,


    Merci pour ta réponse !

    Si j'ai bien compris ,la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    yaWk.Sheets(1).Cells(i, 1) = s.Name
    le S.Name donne le nom du titre du slide ou le numéro du slide ?
    Dans ma demande ,je chercherais une boucle qui scannerait les slides et quand il trouverait le nom d'un titre de slide avec "Classe" ,il prendrait alors le textbox situé dans ce slide (ie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    yaWk.Sheets(1).Cells(i, 2) = yaSa.TextFrame.TextRange
    ) avec yaSa.TextFrame.TextRange qui prend le textbox

    Autre question ,si dans la textrange du slide, il y a un tableau(4x4) :est-il possible de prendre les colonnes 1 et 2 uniquement ?


    Merci d'avance,

Discussions similaires

  1. comment exporter une table vers un fichier excel
    Par 21247692 dans le forum Développement
    Réponses: 3
    Dernier message: 27/02/2009, 14h44
  2. VBA-Export toutes Tables vers Excel
    Par House MD dans le forum VBA Access
    Réponses: 1
    Dernier message: 11/08/2008, 11h48
  3. Comment exporter un TStringGrid vers Excel par Linkin
    Par MelkInarian dans le forum Delphi
    Réponses: 2
    Dernier message: 09/02/2007, 09h37
  4. [VBA-E]Exporter des données d'Excel vers Access
    Par Mut dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/06/2006, 15h57
  5. [C#] Comment exporter un GridView vers Excel ?
    Par anto dans le forum ASP.NET
    Réponses: 4
    Dernier message: 26/05/2006, 16h24

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