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 :

Transfert de donnée entre une feuille Excel et une présentation PowerPoint


Sujet :

VBA PowerPoint

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Transfert de donnée entre une feuille Excel et une présentation PowerPoint
    Bonjour,

    J'ai déjà réussi à créer un certain nombre de macros VBA sous Excel mais je me sens complètement perdu pour Powerpoint (je n'arrive même pas à copier une diapo d'une présentation à l'autre...).

    Je souhaite pouvoir automatiser la création de diapositives reprenant des infos placées dans un tableau d'une feuille excel. J'imagine utiliser une diapo comme modèle et créer une copie de cette diapo qui sera alors insérée dans ma présentation. Cette action sera répétée à chaque nouvelle ligne du tableau Excel.
    Donc le processus est plutot simple mais je n'arrive pas à entièrement le coder :
    1) une boucle do qui itère le compteur de ligne tant que la cellule activedu tableau de la feuille Excel n'est pas vide. (ça ok, facile)
    Par exemple, la boucle Do inspecte ligne après ligne les cellules de la Colonnes A.

    2) Copier la valeur de la cellule active en colonne A comme titre de la nouvelle diapo. (comment appele-t-on le titre d'une diapo avec VBA ?)

    3) Insérer les valeurs des autres colonnes dans certaines cases d'un tableau présent dans la diapo (qui est une copie du modèle).
    (on doit certainement pouvoir localiser une case de tableau présent dans une diapo mais comment..?)

    4) Enfin, dans la nouvelle diapo, ajouter une image qui provient d'un répertoire du réseau et qui a le même nom que la valeur de la Cellule en colonne A pour la ligne active.
    (bien sûr on doit pouvoir rétrécir cette image et placer l'un de ses coins à une coordonnée précise)

    Pour le moment, j'ai seulement compris comment ouvrir une présentation à partir de VBA, en cherchant un peu partout... mais n'ayant pas trouver de tutoriel spécifiquement fait pour manipuler Powerpoint avec VBA, je me résigne à faire cette tâche à la pogne... (y a un demi millier de lignes... et le tableau s'édite tous les mois...)

    Si vous pouvez m'aider, je vous en serai très très très reconnaissant.

    Merci par avance !

  2. #2
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Y aurait-il une âme sensible à mon tourment ?

    Merci par avance.

  3. #3
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 405
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 405
    Points : 16 245
    Points
    16 245
    Par défaut
    Bonjour

    Je n'ai jamais fait de VBA powerpoint mais en fouillant dans l'explorateur d'objets et l'aide en ligne depuis la fenêtre VBE :

    Titre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    mavariable = "Bonjour"
    ActivePresentation.Slides(1).Shapes.Title.TextFrame.TextRange.Text = mavariable
    Tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    With ActivePresentation.Slides(2).Shapes.Placeholders
        For j = 2 To .Count '2 pour éliminer le titre
            If .Item(j).HasTable Then
                .Item(j).Table.Cell(1, 1).Shape.TextFrame.TextRange.Text = "Cell 1"
                .Item(j).Table.Cell(1, 2).Shape.TextFrame.TextRange.Text = "Cell 2"
            End If
        Next
    End With
    Image
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    chemin = "J:\IMAGES\Divers\"
    Iimage = "08.jpg"
    ActivePresentation.Slides(2).Shapes.AddPicture FileName:=chemin & Iimage, _
        LinkToFile:=msoFalse, SaveWithDocument:=msoTrue, _
        Left:=50, Top:=250, Width:=320, Height:=240
    Je n'ai pas cherché plus loin mais cela m'étonnerait qu'il n'y ait pas ressources sur le web...
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2005
    Messages : 218
    Points : 85
    Points
    85
    Par défaut
    Bonjour,

    je rebondis sur ce message car il correspond a un probleme que j'ai, mais la solution donnee ne marche pas chez moi.

    J'ai un fichier Pwp, avec un control textbox ( ajoute par l intermediaire de la boite a outil). J'ai nomme mon textbox TB1.

    Je cherche a partir de VBA Excel a remplir ce textbox mais je n y arrive pas.

    Quelqu un a-t-il pu trouve une solution?

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup ! C'est déjà un bon début !

    Il reste encore l'action "copie d'une diapo d'une présentation et collage dela diapo dans une autre présentation" et ça devrait le faire pour que je m'en sorte.

Discussions similaires

  1. Transfert de données issues d'un formulaire vers une feuille excel
    Par elo1989 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 27/01/2014, 00h11
  2. [XL-2007] copier une feuille excel d'une instance excel à une autre
    Par marcelisa2 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/03/2012, 00h44
  3. Réponses: 2
    Dernier message: 02/05/2007, 14h28
  4. [Vba-Excel] Exécuter une requete SQL sur une feuille de donnée
    Par Spacy_green dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/11/2006, 10h27
  5. Réponses: 5
    Dernier message: 05/07/2005, 21h25

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