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 :

transferer graph d'excell à powerpoint


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de biggione
    Inscrit en
    Juillet 2006
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 99
    Par défaut transferer graph d'excell à powerpoint
    j'ai chercher sur les aides en ligne mais je n'ai rien trouvé donc voilà mon pb:
    comment faire pour transferer un graph qui se trouve dans une feuille excell vers le slide n°2 d'un document power point?

    le truc c'est que dans la feuille excell en question il y a plusieur graphes et que moi je souhaiterai copié celui qui s'appelle gr1.

    Merci pour votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 137
    Par défaut
    Ctrl + C / Ctrl + V

    Explique plus ton problème car copier coller conviendrait mais je me doute que tu n'attends pas cela

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    932
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 932
    Par défaut
    Oui il faudrait plus de précisions,

    tu veux faire ca à partir d'excel, en VBA excel??

    Quel est ton code actuel?

  4. #4
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonjour

    tu peux utiliser ce type de syntaxe


    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
    25
    26
    27
    28
    29
    30
    Sub insertionGraphiqueDansPowerPoint()
        'necessite d'activer la reference Microsoft Powerpoint Object Library
        Dim PPT As PowerPoint.Application
        Dim PptDoc As PowerPoint.Presentation
        Dim NbShpe As Byte
     
        Set PPT = CreateObject("Powerpoint.Application") 'creation session PowerPoint
        PPT.Visible = True 'l'application sera visible
        Set PptDoc = PPT.Presentations.Open("C:\monfichier.ppt") 'ouverture fichier ppt
     
        'copie du graphique nommé "Gr1",contenu  dans la feuille active
        ActiveSheet.ChartObjects("Gr1").Copy
        PptDoc.Slides(3).Shapes.Paste 'collage dans le Slide3 du document Power Point
     
        'compte le nombre de shapes dans le 3eme slide
        'le dernier objet inséré correspond à l'index le plus élevé
        NbShpe = PptDoc.Slides(3).Shapes.Count
     
        With PptDoc.Slides(3).Shapes(NbShpe)
            .Name = "monGraph" 'personnaliser le nom de l'image insérée
            .Left = 150 'position horizontale dans le slide
            .Top = 100 'position verticale dans le slide
            .Height = 300 'hauteur image
            .Width = 400 'largeur image
        End With
     
        'PptDoc.Save 'sauvegarder les modifications
        'PptDoc.Close 'fermer le document ppt
        'PPT.Quit 'fermer l'application powerPoint
    End Sub


    bonne soiree
    michel

  5. #5
    Membre confirmé Avatar de biggione
    Inscrit en
    Juillet 2006
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 99
    Par défaut
    merci pour ton aide mais j'ai juste encore un petit bug que je ne comprends pas: quand j'insére ton code dans le mien, il me trouve une erreur sur la ligne:
    ActiveSheet.ChartObjects("gr1").Copy
    à savoir qu'avant ton code j'ai deja ouvert le powerpoint pour créer la page de garde.
    et ton code vient pour le 2ème slide.

    Est-ce que ce n'est pas une histoire de page selectionné ou d'application selectionné qui serait powerpoint et non excel? d'où le problème avec le mot active sheet.

    de plus dans mon fichier excel qui se nomme mesure.xls, je lance la macro avec un bouton dans la page1 et je voudrais copier le graph de la page2.

    Désolé de t'embété encore mais si tu as encore du temps pour me répondre merci d'avance.

  6. #6
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    il va falloir essayer de comprendre le code....

    déjà la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        ActiveSheet.ChartObjects("gr1").Copy
    permet comme l'indique le commentaire qui la précéde ..:

    'copie du graphique nommé "Gr1",contenu dans la feuille active
    donc il faut l'adpater à ton code suivant l'emplacement de ton graphique...
    quelque chose du genre (si ta page 2 se nomme "page2" et qu'il y as un graphique dessus...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ThisWorkbook.Sheets("Page2").ChartObjects(1).Copy
    ensuite il faut voir l'endroit ou tu ve copier ce graphe voir cette ligne de code et son commentaire associé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       PptDoc.Slides(3).Shapes.Paste 'collage dans le Slide3 du document Power Point

  7. #7
    Membre confirmé Avatar de biggione
    Inscrit en
    Juillet 2006
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 99
    Par défaut
    bon je sais déjà que vous allé dire que je suis nul mais je débute en vba.

    je viens de faire ce que tu ma di bill mais maintenant il me bloque sur la ligne:

    Ppp.Slides(2).Shapes.Paste

    en disant qu'il y a un pb sur l'objet qui serait inconnu...

    regarde mon code depuis le slide 1
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    strTitre = "titre du slide"
     
        Set Ppa = CreateObject("Powerpoint.Application")
        Ppa.Visible = True
        Set Ppp = Ppa.Presentations.Open(Filename:="E:\Project\Analyse.ppt", ReadOnly:=msoFalse)
     
     
        For n = 2 To (Ppp.Slides.Count - 1)
            Ppp.Slides(n).Delete
        Next n
     
        'mise a jour de la page de garde
        Ppp.Slides(1).Shapes.AddTextbox(msoTextOrientationHorizontal, 108, 462, 228, 28.875).Select
        Ppp.Slides(1).Shapes.Range.TextFrame.WordWrap = msoTrue
        With Ppp.Slides(1).Shapes(1).TextFrame.TextRange.ParagraphFormat
            .LineRuleWithin = msoTrue
            .SpaceWithin = 1
            .LineRuleBefore = msoTrue
            .SpaceBefore = 0.5
            .LineRuleAfter = msoTrue
            .SpaceAfter = 0
        End With
        With Ppp.Slides(1).Shapes(1).TextFrame.TextRange
            .Text = "Last update on " & Date
            With .Font
                .Name = "Arial"
                .Size = 18
                .Bold = msoFalse
                .Italic = msoFalse
                .Underline = msoFalse
                .Shadow = msoFalse
                .Emboss = msoFalse
                .BaselineOffset = 0
                .AutoRotateNumbers = msoFalse
                .Color.RGB = RGB(Red:=255, Green:=255, Blue:=255)
            End With
        End With
     
     
        'insertion du deuxieme slide
        Set mySlide = Ppp.Slides.Add(Index:=2, Layout:=ppLayoutText)
     
        'insertion texte dans les Shapes 1 et 2 du deuxième Slide
        Ppp.Slides(2).Shapes(1).TextFrame.TextRange.Text = strTitre
        With Ppp.Slides(2).Shapes(1).TextFrame.TextRange
            .Paragraphs.ParagraphFormat.Alignment = ppAlignCenter
            .Paragraphs.ParagraphFormat.Bullet.Visible = msoFalse
            With .Font
                .Size = 24
                .Name = "Arial"
                .Bold = msoTrue
                .Italic = msoFalse
                .Underline = msoFalse
                .Shadow = msoFalse
                .Emboss = msoFalse
                .BaselineOffset = 0
                .AutoRotateNumbers = msoFalse
                .Color.RGB = RGB(Red:=0, Green:=0, Blue:=0)
            End With
        End With
     
        'copie du graphique nommé "Gr1",contenu  dans la feuille active
        ThisWorkbook.Sheets("DataGraph").ChartObjects(1).Copy
     
        'collage dans le Slide2 du document Power Point
        Ppp.Slides(2).Shapes.Paste
     
        'compte le nombre de shapes dans le 2eme slide
        'le dernier objet inséré correspond à l'index le plus élevé
        NbShpe = Ppp.Slides(2).Shapes.Count
     
        With Ppp.Slides(2).Shapes(NbShpe)
            .Name = "monGraph" 'personnaliser le nom de l'image insérée
            .Left = 150 'position horizontale dans le slide
            .Top = 100 'position verticale dans le slide
            .Height = 300 'hauteur image
            .Width = 400 'largeur image
        End With

  8. #8
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonjour

    ta procédure fonctionne sans problème chez moi ( Office XP)

    quelle version utilises tu ?


    bonne journée
    michel

  9. #9
    Membre confirmé Avatar de biggione
    Inscrit en
    Juillet 2006
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 99
    Par défaut
    j'utilise windows XP et les librairies sont toutes activés (enfin celles qui m'intéresse: excel et powerpoint)

    je ne comprends pas

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

Discussions similaires

  1. exporter tableaux et graphes de excel vers powerpoint
    Par ouioui_cmoi dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/04/2008, 13h17
  2. [VBA-E]Sélectionner un graph sous Excel
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 12/04/2006, 14h54
  3. [VBA-E]Création de graphe de Excel vers Excel
    Par pmboutteau dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 09/02/2006, 14h43
  4. Envoyer un graphe access dans powerpoint
    Par coup dur dans le forum VBA Access
    Réponses: 1
    Dernier message: 04/11/2005, 18h03
  5. Composant permettant de faire des graphes sous Excel
    Par PrinceMaster77 dans le forum ASP
    Réponses: 2
    Dernier message: 25/10/2005, 22h13

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