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 ?