Créer une présentation powerpoint depuis un classeur excel

Soyez le premier à donner votre avis sur cette source.

Vue 17 299 fois - Téléchargée 2 535 fois

Description

Les macros du classeur Excel du Zip permettent de scanner un fichier Excel suivant une certaine normalisation d'en extraire les données et de les mettre en forme au sein d'une nouvelle présentation PowerPoint. Chaque feuille du classeur correspond à une diapositive dans la présentation créée. Il existe deux macros génériques : Insert_Shape ( qui permet d?insérer une forme texte dans PowerPoint) et Format_Shape (qui permet de mettre en forme une partie du texte d?une forme (police, taille des caractères, couleurs des caractères, gras, soulignement).

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Malheureusement pas compatible avec Excel 64 bits :(
cs_Le Pivert
Messages postés
6138
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
18 juillet 2019
82 > Toutgreg -
Le code que j'ai indiqué plus haut le 28 novembre 2008 fonctionne très bien sous Windows8 et Office 2007. Seul bémol ces 3 lignes de code qu'il faut supprimer

'--- Modifie la couleur de fond dans les différents Slides
'Set Cs1 = .ColorSchemes(3)
'Cs1.Colors(ppBackground).RGB = RGB(UserForm1.TextBox1, UserForm1.TextBox2, UserForm1.TextBox3)
'.SlideMaster.ColorScheme = Cs1

@+ Le Pivert
dridichiraz
Messages postés
1
Date d'inscription
lundi 27 mai 2013
Statut
Membre
Dernière intervention
27 mai 2013
-
je viens de télécharger le zip, mais je ne sais pas comment procéder pour rendre mon fichier excel un fichier powerpoint.si vous pouvez me guider?merci
TML13
Messages postés
1
Date d'inscription
samedi 15 janvier 2011
Statut
Membre
Dernière intervention
24 janvier 2011
-
Super ce code... je cherchai cela depuis longtemps : Créer un PPT à partir d'une feuille Excel. J'ai même modifié le truc en partant de données en ligne (type base de données) pour créer mes SLIDES PPT.
cs_Le Pivert
Messages postés
6138
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
18 juillet 2019
82 -
Bonjour, cela arrive un peu tard, mais mieux vaut tard que jamais.
Mettez ce qui suit dans un module.
'Allez dans Outils-References et cochez: Microsoft PowerPoint 11.0 Object Library
'Remplissez la cellule A1 et ajoutez un graphique dans la feuille1
'Ensuite vous appelez "NouvellePresentation"
Sub NouvellePresentation()

Dim PptDoc As PowerPoint.Presentation
Dim Diapo As PowerPoint.Slide
Dim Sh As PowerPoint.Shape
Dim Cs1 As ColorScheme
Dim NbShpe As Integer

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

With PptDoc

'--- 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 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)


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

'copie le 1er graphique contenu dans la feuille Excel active
ActiveSheet.ChartObjects(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)
.Name = "monGraph" 'personnalise le nom
.Left = 150 'définit la position horizontale dans le slide
.Top = 100 'définit la position verticale dans le slide
.Height = 300 'hauteur
.Width = 400 'largeur
End With


'--- Modifie la couleur de fond dans les différents Slides
Set Cs1 = .ColorSchemes(3)
Cs1.Colors(ppBackground).RGB = RGB(225, 233, 200)
.SlideMaster.ColorScheme = Cs1
End With

'Sauvegarde la présentation
'dans le meme répertoire que le classeur excel contenant la macro.
PptDoc.SaveAs FileName:=ThisWorkbook.Path & "" & "NouvellePresentation.ppt"
'ferme la presentation
PptDoc.Close
'ferme powerpoint
PptApp.Quit

MsgBox "Opération terminée."
End Sub

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.