Bonsoir\Bonjour à tous
Je suis actuellement en train d'essayer d'automatiser le passage d'information d'un classeur Excel vers une diapo Powerpoint.
Le soucis est que je suis complètement perdu dans la manipulation des Shapes...
Ce que j'aimerais faire c'est prendre le contenu de certaines cellule dans mon classeur pour remplir des shapes avec.
Par exemple je voudrais que le titre de ma diapo1 devienne le contenu de la cellule B2 ect.
J'ai trouvé ce morceau de code mais je n'arrive pas à l'adapter. Pour l'instant une nouvelle zone de texte est créée et à l"intérieur de celle-ci on peut retrouver le texte de la cellule B2 alors que je ne souhaite pas avoir une nouvelle zone de texte mais juste remplir le titre de la diapo.
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 Private Sub CommandButton1_Click() Dim PptApp As PowerPoint.Application Dim PptDoc As PowerPoint.Presentation Dim Diapo As PowerPoint.Slide Dim Sh As PowerPoint.Shape Dim Cs1 As ColorScheme Dim NbShpe As Integer Set PptApp = CreateObject("Powerpoint.Application") Dim FichierPpt, pwpt, presppt Set pwpt = CreateObject("PowerPoint.Application") pwpt.Visible = True ' Set presppt = PptApp.Presentations.Open(Filename:="D:\Users\Damien\Desktop\Présentation1222.pptx") pwpt.Visible = True With presppt '--- Ajoute un Slide ' .Slides.Add Index:=1, Layout:=ppLayoutBlank 'Crée une zone de texte (AddLabel) Set Sh = .Slides(1).Shapes.AddLabel(Orientation:=msoTextOrientationHorizontal, _ Left:=100, Top:=100, Width:=150, Height:=60) 'insère la valeur de la Cellule B2 dans une zone de texte Sh.TextFrame.TextRange.Text = Range("B2") 'Modifie la couleur du texte Sh.TextFrame.TextRange.Font.Color = RGB(255, 100, 255) 'Compte le nombre de shapes dans la diapositive: 'le dernier objet inséré correspond à l'index le plus élevé NbShpe = Diapo.Shapes.Count End With End Sub
Merci d'avance à ceux qui auront le temps et la patience de m'aider et à ceux qui m'auront au moins lu!
Bonne soirée à tous.
Partager