VBA & PPT

Bonjour,

Je n'ai jamais expérimenté le line Excel/PPT.

Aujourd'hui j'ai un fichier excel dans lequel je calcul les phase d'avancement de mes projets. Ces calculs sont ensuite répresentés visuellement par une mise en forme conditionnelle sous forme de barre de progression.

--> Je souhaiterais simplement que cette barre de progression se mettre automatique dans mes slides. exemple : que pour le projet communication RH la barre de progression qui va bien aille dans la slide projet communication RH.

Vous avez des idées ?

Merci

Bonjour,

tu pourrais transformer cette barre de progression en un objet Shape,

voici un exemple,

Sub image()
Set plg = Selection
plg.CopyPicture Appearance:=xlScreen, Format:=xlPicture
Range("A1").Select
ActiveSheet.Paste
    Selection.ShapeRange.Line.Visible = msoFalse
    Selection.ShapeRange.LockAspectRatio = msoTrue
End Sub

Bonjour,

Merci mais en executer la macro que donne des images qu'il faudrait que je colle une à une dans mes slides PPT.

Y-at-il possibilité de faire quelque chose de plus dynamique ou automatique ?

Que les images se collent a un endroit prédéfini dans mes slides ? ex : sur le projet communication je souhaiterais que la barre de progression se colle en haut de ma slide et ainsi de suite pour tous mes autres projets ?

Par ailleurs, si l'état de ma barre de progression change : on passe de 0% à 50% il faut que je réactualise mes images. C'est un peu fastidueux.

Merci pour votre retour.

Bonne journée

re,

voici un exemple,

Sub Test_PPT()
Dim PptApp As PowerPoint.Application
Dim PptDoc As PowerPoint.Presentation
Dim Diapo As PowerPoint.Slide
Dim Sh As PowerPoint.Shape
Dim NbShpe As Integer

Set PptApp = CreateObject("Powerpoint.Application")
Set PptDoc = PptApp.Presentations.Add
PptDoc.SlideMaster.TextStyles.Item(Type:=ppDefaultStyle).Levels(Level:=1).ParagraphFormat.Alignment = ppAlignCenter

    'image
    Set plg = Selection
    plg.CopyPicture Appearance:=xlScreen, Format:=xlPicture
    Range("A1").Select
    ActiveSheet.Paste
    Selection.ShapeRange.Line.Visible = msoFalse
    Selection.ShapeRange.LockAspectRatio = msoTrue

    With PptDoc
        '--- Ajoute un nouveau slide et le positionner en 2eme position
        Set Diapo = .Slides.Add(Index:=1, Layout:=ppLayoutBlank)

        'copie le 1er graphique contenu dans la feuille Excel active
        ActiveSheet.Shapes(1).Copy
        'collage dans la 2eme diapositive
        Diapo.Shapes.Paste

        'Compte le nombre de shapes dans la diapositive:
        'le dernier objet inséré correspond à l'index le plus élevé
        NbShpe = Diapo.Shapes.Count

        'Renomme et met en forme l'objet collé
        With Diapo.Shapes(NbShpe)
                .Left = 10 'définit la position horizontale dans le slide
                .Top = 15 'définit la position verticale dans le slide
                .Height = 100 'hauteur
                .Width = 300 'largeur
        End With
    End With
PptApp.Visible = True
End Sub

Merci.

Il semble y avoir un problème dans les deux premières lignes. "Type défini par l'auteur non défini".

Merci.

Poppy

re,

as-tu coché la référence à Microsoft PowerPoint xx.x Object Library ?

Rechercher des sujets similaires à "vba ppt"