cs_Le Pivert
Messages postés7903Date d'inscriptionjeudi 13 septembre 2007StatutContributeurDernière intervention11 mars 2024137 28 nov. 2013 à 10:51
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
Malheureusement pas compatible avec Excel 64 bits :(
dridichiraz
Messages postés1Date d'inscriptionlundi 27 mai 2013StatutMembreDernière intervention27 mai 2013 27 mai 2013 à 12:30
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és1Date d'inscriptionsamedi 15 janvier 2011StatutMembreDernière intervention24 janvier 2011 24 janv. 2011 à 17:28
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és7903Date d'inscriptionjeudi 13 septembre 2007StatutContributeurDernière intervention11 mars 2024137 28 nov. 2008 à 15:51
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
vegeta350
Messages postés1Date d'inscriptionmardi 3 juin 2008StatutMembreDernière intervention 3 juin 2008 3 juin 2008 à 17:29
Bonjour, Je suis comme NJFLOY006, je recherche un code qui pourrait me permettre d'exporter u tableau contenue sur excel dans powerpoint mais suivant la même pésentation.
C'est faisable ??
njfloy006
Messages postés1Date d'inscriptionlundi 18 juin 2007StatutMembreDernière intervention18 juin 2007 18 juin 2007 à 18:00
Bonjour, en effet ce code est très très bien et super complet, mais existerai-t-il une version plus simple qui consisterai juste à importer une petite plage de donnée sous excel pour la coller sur ppt?
Si je demande cela, c'est parce que c'est exactement le programme qu'il me faut, mais le "hic", c'est que je suis novice sous VBA, et dans ce code, malgré mes recherches il y'a certaines fonctions que je ne comprends pas.
Merci.
patsonk
Messages postés25Date d'inscriptionvendredi 18 juin 2004StatutMembreDernière intervention30 octobre 2007 19 avril 2007 à 12:33
c est top code. merci de l avoir mis a disposition
cs_smarties38
Messages postés12Date d'inscriptionjeudi 15 février 2007StatutMembreDernière intervention 4 décembre 2009 21 févr. 2007 à 16:25
excellent ce code!!!
The_bigboss
Messages postés13Date d'inscriptionjeudi 30 septembre 2004StatutMembreDernière intervention13 janvier 2005 13 oct. 2004 à 12:07
Bonjour, j'ai excel version 2003 et il ne veut pas me l'ouvrir car il faudrait que ta macro soit signée numériquement !
28 nov. 2013 à 10:51
@+ Le Pivert
27 nov. 2013 à 16:00
27 mai 2013 à 12:30
24 janv. 2011 à 17:28
28 nov. 2008 à 15:51
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
3 juin 2008 à 17:29
C'est faisable ??
18 juin 2007 à 18:00
Si je demande cela, c'est parce que c'est exactement le programme qu'il me faut, mais le "hic", c'est que je suis novice sous VBA, et dans ce code, malgré mes recherches il y'a certaines fonctions que je ne comprends pas.
Merci.
19 avril 2007 à 12:33
21 févr. 2007 à 16:25
13 oct. 2004 à 12:07