Envoie de donnée depuis Excel vers Powerpoint
Bonjour à tous
Voilà j'ai besoin de pouvoir extraire des informations de Excel et de les importer dans PowerPoint pour faire une mise en forme. L'idée est de prendre les informations qui m'interessent à partir d'un tableau excel (colonne "Groupe" et "Mobilier") puis de créer une Shape à chaque texte transférer dans PowerPoint.
Donc déjà le fichier Excel avec une macro qui est censé envoyé chaque texte dans Powerpoint
Je ne comprends pas, mon code fonctionnait, puis j'ai du supprimer par erreur quelque chose et ça ne fonctionne plus....
Pouvez vous dejà m'éclairer et me dire ce qui cloche dans mon code.
Ensuite une fois que les shapes sont crées dans un fichier Powerpoint, je dois les ranger.
Beaucoup de problèmes à ce niveau !!!
D'abord, je ne suis pas familiariser avec le vba sur Pwp et je n'arrive même pas à créer un bouton pour lancer mes macros...
1° problème
donc ma question : ben on fait comment?
Ensuite, la macro mise_en_forme permet de réduire la police des shapes, de les alignés, de les séparer,...
Bref, ça au moins ça fonctionne
Puis je créer des flèches avec la macro fleche, mais le problèmes c'est leur manipulation.
J'aimerais pouvoir changer leurs couleurs, leurs dimensions,... mais déjà je n'arrive pas à les sélectionner autrement que une par une. Je pensais qu'en leur donnant à toute le même nom je pourrais toutes les manipuler ensemble, mais je n'y arrive pas.
Set fleche = ActivePresentation.Slides(1).Shapes.AddShape(msoShapeBentArrow, 20 + i * m, 20 + i * m, 100, 20)
fleche.Name = "fleche"
ActivePresentation.Slides(1).Shapes.Range(Array("fleche")).Select
Ce code ne me permet de manipuler qu'une seule shape à la fois, j'aurais cru pouvoir toute les selectionner d'un seul coup.
Auriez vous une idée?
Je ne comprends pas, mon code fonctionnait, puis j'ai du supprimer par erreur quelque chose et ça ne fonctionne plus....
Ah déjà j'ai oublié de définir ma variable ....
Dim txt As Object
For i = 2 To n 'créer une forme par mobilier
txt = Cells(i, 1).Value & " - " & Cells(i, 4).Value
txt.Copy
Pptpre.Slides(1).Shapes.Paste
Next i
Ou alors comme ça...
mais ça ne marche pas non plus.
Sub crea_fichier()
Dim appPpt As Object 'la variable qui contiendra l'application
Dim Pptpre As Object 'la variable qui contiendra la présentation
Dim sld As Object 'pour manipuler un objet diapositive
Dim n As Integer
Dim i As Integer
Dim txt As Object
n = Application.WorksheetFunction.CountA(Range("A1:A" & Range("A65536").End(xlUp).Row))
Set appPpt = CreateObject("Powerpoint.Application")
Set Pptpre = appPpt.Presentations.Add 'créer le fichier powerpoint et un slide
Set sld = Pptpre.Slides.Add _
(Index:=1, Layout:=ppLayoutBlank)
For i = 2 To n 'créer une forme par mobilier
With Pptpre.Slides(1)
Set txt = Cells(i, 1).Value & " - " & Cells(i, 4).Value
txt.Copy
Pptpre.Slides(1).Shapes.Paste
End With
Next i