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 :

Transfert fidèle de formes automatiques entre Excel et Powerpoint


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Inscrit en
    Février 2011
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Transfert fidèle de formes automatiques entre Excel et Powerpoint
    Bonjour,

    en vue de dessiner automatiquement dans Powerpoint depuis Excel
    - des rapports
    - des diagrammes de Gantt
    - des schémas de processus
    -...

    j'ai créé un certain nombre de petites applis en VBA Excel qui déversent automatiquement des formes automatiques dans Powerpoint.

    C'est facile avec le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public PresPPT,PRES 
    Set PresPPT = CreateObject("PowerPoint.Application")
    PresPPT.Visible=True
    Set PRES = PresPPT.Presentations
    ' ...
    PRES.Application.ActiveWindow.Selection.SlideRange.Shapes._
        AddShape(typedeforme, x, y, l, h).Select
    etc.

    La meilleure solution que j'aie trouvée à ce jour pour restituer aussi parfaitement que possible une forme est de créer une feuille de formes modèles et d'appliquer la mise en forme des modèles aux nouvelles formes créées.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        PRES.Application.ActivePresentation.Slides(1).Select
        .Selection.SlideRange.Shapes(far).Select
        typedeforme = .Selection.ShapeRange.AutoShapeType
    ' ...
        PRES.Application.ActivePresentation.Slides(2).Select
        .Selection.SlideRange.Shapes.AddShape(typedeforme, x, y, l, h).Select
        .Selection.ShapeRange.Apply
    Mais je n'ai pas encore mis la main sur le saint Graal, consistant à créer et mettre en forme des formes automatiques modèles dans Excel, et de les reproduire à l'identique dans Powerpoint. Notamment, une partie de la mise en forme du texte me lâche en route et les codes pour la couleur et l'alignement du texte sont totalement étrangères entre les deux applications.
    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
    With PRES.Application.ActiveWindow.Selection
        'Applique la mise en forme de l'objet
            .SlideRange.Shapes.AddShape(PrptBalise(RefBal, 6), xBal, yBal, lBal, hBal).Select
            .ShapeRange.Fill.ForeColor.RGB = couleur_remplissage
            .ShapeRange.Line.ForeColor.RGB = couleur_contour
            .ShapeRange.Line.Weight = epaisseur_contour
            .TextRange.Text = TexteForme
     
            .ShapeRange.TextFrame.TextRange.Font.Name = nom_police
            .ShapeRange.TextFrame.TextRange.Font.Bold = gras_police
            .ShapeRange.TextFrame.TextRange.Font.Size = taille_police
            ' à partir de là ça devient très moche
     
            .TextRange.Font.Color.RGB = couleur_police
     
            .HorizontalAlignment = align_horiz
            .VerticalAlignment = align_vertic
    End With
    Je lance donc ma bouteille à la mer : comment copier toutes les propriétés d'une forme automatique d'Excel dans Powerpoint ? Faut-il passer par une passerelle plus musclée (liaisons de type OLE, COM ...?)


    ----------------------------------------------------------
    Pour ceux qui s'intéresseraient à l'intérêt fonctionnel de ma [re]quête, mon but est par exemple de proposer aux utilisateurs d'un tableau de dates sous Excel, un fichier Excel qu'ils ouvrent simultanément et qui leur permet de déverser dans Powerpoint un beau diagramme de Gantt, et cela avec une ergonomie optimale

    Merci à tous ceux qui étudieront on problème !!

  2. #2
    Membre émérite Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Points : 2 662
    Points
    2 662
    Par défaut Autre piste
    Salut,

    Une autre piste...sauver ton graph en Image, que tu peux alors intégrer dans PPT.

    Si tu veux, voici un post ou c'était plus ou moins l'équivalent pour un tableau Excel envoyé comme "image" via Outlook, en espérant que ça puisse t'aider.
    http://www.developpez.net/forums/d83...-tableau-mail/

    A+

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

    Malgré leur ressemblance flagrantes et commune sur certains points, les formes des deux applications appartiennent à des bibliothèques différentes, c'est pour cela qu'il peut y avoir des différences en fonction des caractéristiques des deux logiciels.

    La solution de Fvandermeulen est de loin la plus simple (moins de code).

    Philippe

  4. #4
    Candidat au Club
    Inscrit en
    Février 2011
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    merci à tous ceux qui se sont penchés sur mon problème, et en particulier à ceux qui m'ont répondu.

    Je vais prendre le temps de me pencher sur la solution proposée, et je vous donnerai des nouvelles... quand ce sera mûr.

    Merci

Discussions similaires

  1. Executer form automatiquement entre deux frame
    Par DeWaRs dans le forum VB.NET
    Réponses: 1
    Dernier message: 13/11/2013, 14h41
  2. [XL-2010] Mettre en forme automatiquement : csv->excel
    Par nestea57 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/09/2011, 19h28
  3. Lancement de macros entre Excel et PowerPoint
    Par mikapwel2004 dans le forum VBA PowerPoint
    Réponses: 30
    Dernier message: 21/09/2010, 22h45
  4. [XL-2003] transfert de données entre excel et powerpoint
    Par yvespi dans le forum Excel
    Réponses: 10
    Dernier message: 17/06/2010, 14h21
  5. remplir une forme automatique en excel
    Par viaman dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 31/07/2007, 13h27

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