Power Point automatisé

Bonsoir à tous !

J'aimerais créer un push-mail quotidien. Pour cela j'ai construit de tableaux et des graphes et j'aimerais à l'aide de ces graphes créer un power point automatisé (1 seul onglet) . Sur cet onglet, il y aurait 2 graphes qui proviendrait de deux onglets différents d'un meme fichier Excel et un peu de texte.

Savez vous si c'est possible ?

Cordialement,

Pour la création d'une zone de texte, est ce que c'est possible de connaitre sur le PPT que j'ai crée les différents paramètre Left, Top, Width, Height ? Parce qu'on a besoin dans le code VBa

J'ai essayé de cherché en cliquant sur la zone de texte et voir les options. Mais aucune information sur ça ..

Je met ci-joint le fichier PPT : le modèle sera toujours celui-ci

Et je cherche également à toujours mettre cette image en haut à gauche. Du coup je dois la mettre sur le fichier Excel,?

57modele.pptx (80.20 Ko)

Bonjour,

pourriez-vous nous montrer le code vba utilisé pour insertion du textbox et de l'image ?

Bonsoir sabV

'Pour la création d'une zone de texte : 
Set Sh = .Slides(1).Shapes.AddLabel(Orientation:=msoTextOrientationHorizontal, _
        Left:=100, Top:=100, Width:=150, Height:=60)
    'insère la valeur de la Cellule A1 dans une zone de texte
Sh.TextFrame.TextRange.Text = Range("A1")
    'Modifie la couleur du texte
Sh.TextFrame.TextRange.Font.Color = RGB(255, 100, 255)

Pour l'insertion d'une image, je n'ai pas pu trouver le code VBA correspondant ..

Bonjour,

voici un exemple,

Sub NouvellePresentation()
Dim PptApp As PowerPoint.Application
Dim PptDoc As PowerPoint.Presentation
Dim Sh As PowerPoint.Shape
Dim objImageBox As PowerPoint.Shape

Set PptApp = CreateObject("Powerpoint.Application")
Set PptDoc = PptApp.Presentations.Add

With PptDoc
    '--- Ajoute un Slide
    .Slides.Add Index:=1, Layout:=ppLayoutBlank
    w = .PageSetup.SlideWidth
    h = .PageSetup.SlideHeight

    'Crée une zone de texte (AddLabel)
    Set Sh = .Slides(1).Shapes.AddLabel(Orientation:=msoTextOrientationHorizontal, _
        Left:=l, Top:=100, Width:=150, Height:=60)

    'insère la valeur de la Cellule A1 dans une zone de texte
    Sh.TextFrame.TextRange.Text = Range("A1")
    'Modifie la couleur du texte
    Sh.TextFrame.TextRange.Font.Color = RGB(255, 100, 255)

    'aligne le texbox au centre
    wTB = Sh.Width
    l = (w / 2) - (wTB / 2)
    Sh.Left = l

    chemin = "C:\Users\xxxxx\Pictures\Test.png"  ' adapter
    Set objImageBox = .Slides(1).Shapes.AddPicture(chemin, msoCTrue, msoCTrue, 10, 10, 200, 200)

End With
End Sub

ReBonjour

Merci beaucoup, ça m'a beaucoup aidé !

En fait, est-il possible de modifier la taille de la diapositive ? 24,4cm en largeur et 14,28 en hauteur ?

bonjour

pourquoi un pptx d'une seule diapo ?

1/ tu auras un résultat similaire en pdf directement depuis Excel, sans souci

2/ tu peux incruster de l'Excel dans un pptx (ça évite de le recréer à chaque fois)

Bonjour jmd

Ils ont utilisé un pptx plutôt qu'un pdf car dans le pptx, ils ont besoin d'incorporer un pdf dans le pptx, ce qu'ils ne peuvent pas faire dans un pdf

Alors en fait, ce qu'ils faisaient avant (que je vienne en tant que stagiaire), c'est qu'ils collectaient des infos et les inscrivaient sur un fichier Excel, puis sur ce fichier Excel, ils crééent des graphiques à partir de ces données et ils devaient insérer ces graphiques dans un PPTX. Et concernant ces PPTX, ils se servent de celui fait la veille et simplement remplacent les graphiques par ceux d'aujourd'hui.

Ils ont besoin de faire 3 PPTX, et enfin ils remplissent un push-mail et mettent en lieu ces PPTX dans un sharepoint et envoient tout cela.

Voilà, tout cela n'est pas vraiment automatisé, et ce que j'aimerais faire, c'est qu'ils n'auront pas besoin de reprendre le PPT de la veille car celui ci serait automatiquement généré avec le même modèle.

Qu'en pensez vous?

que c'est une usine à gaz

sont les données de départ ? (y compris le fameux pdf qu'on ne peut pas inscrire dans un pdf, bizarre ! )

que veut-on envoyer comme traitement des données ?

quelles sont ces informations (compta, ventes...) ?

Bonjour à tous,

En fait, est-il possible de modifier la taille de la diapositive ? 24,4cm en largeur et 14,28 en hauteur ?

With PptDoc
    '--- Ajoute un Slide
    .Slides.Add Index:=1, Layout:=ppLayoutBlank
'    '24,4cm en largeur et 14,28 en hauteur
    .PageSetup.SlideWidth = Application.CentimetersToPoints(24.5)
    .PageSetup.SlideHeight = Application.CentimetersToPoints(14.28)
    w = .PageSetup.SlideWidth
    h = .PageSetup.SlideHeight
Rechercher des sujets similaires à "power point automatise"