nat54
XLDnaute Barbatruc
Bonjour,
Voilà mon « problème ».
Un fichier Excel avec environ 30 onglets formatés de façon identique
Je dois copier-coller les cellules de B2 à I37 de chaque onglet
Le but : un slide powerpoint par onglet excel
J’ai vu sur le site pour copier-coller des graphes mais pas de simples tableaux …
Merci de m’aider à automatiser cela en VBA, je gagnerais un temps fou
Dans ma besace excel j’avais cela au ca où ca vous aide…
[/I]
Voilà mon « problème ».
Un fichier Excel avec environ 30 onglets formatés de façon identique
Je dois copier-coller les cellules de B2 à I37 de chaque onglet
Le but : un slide powerpoint par onglet excel
J’ai vu sur le site pour copier-coller des graphes mais pas de simples tableaux …
Merci de m’aider à automatiser cela en VBA, je gagnerais un temps fou
Dans ma besace excel j’avais cela au ca où ca vous aide…
Code:
[/SIZE][/FONT]
[FONT=Arial][I][SIZE=3]ort_Ppt()[/SIZE][/I][/FONT]
[COLOR=teal][FONT=Arial][I][SIZE=3] 'necessite d'activer la reference Microsoft Powerpoint Object Library[/SIZE][/I][/FONT][/COLOR]
[FONT=Arial][I][SIZE=3] Dim PPT As PowerPoint.Application[/SIZE][/I][/FONT]
[FONT=Arial][I][SIZE=3] Dim PptDoc As PowerPoint.Presentation[/SIZE][/I][/FONT]
[FONT=Arial][I][SIZE=3] Dim NbShpe As Byte[/SIZE][/I][/FONT]
[SIZE=3][FONT=Arial][I] [/I][/FONT][FONT=Arial][I]Dim NumMois As String[/I][/FONT][/SIZE]
[FONT=Arial][I][SIZE=3] Dim Rep As String[/SIZE][/I][/FONT]
[FONT=Arial][I][SIZE=3] [/SIZE][/I][/FONT]
[SIZE=3][FONT=Arial][I] [/I][/FONT][FONT=Arial][I]Sheets("Page de Garde").Select[/I][/FONT][/SIZE]
[FONT=Arial][I][SIZE=3] NumMois = Range("D14")[/SIZE][/I][/FONT]
[SIZE=3][FONT=Arial][I] [/I][/FONT][FONT=Arial][I]Rep = Range("D16")[/I][/FONT][/SIZE]
[FONT=Arial][I][SIZE=3] [/SIZE][/I][/FONT]
[FONT=Arial][I][SIZE=3] Set PPT = CreateObject("Powerpoint.Application") 'creation session PowerPoint[/SIZE][/I][/FONT]
[SIZE=3][FONT=Arial][I] [/I][/FONT][FONT=Arial][I]PPT.Visible = True [/I][/FONT][COLOR=teal][FONT=Arial][I]'l'application sera visible[/I][/FONT][/COLOR][FONT=Arial][I][/I][/FONT][/SIZE]
[SIZE=3][FONT=Arial][I] [/I][/FONT][FONT=Arial][I]Set PptDoc = PPT.Presentations.Open("J:\Services\Finance Division CCF\Reporting-SIDEL\2006\" & Rep & "\Sales report\CCF Division turnover " & NumMois & "-06 Sales Report.ppt") [/I][/FONT][COLOR=teal][FONT=Arial][I]'ouverture fichier ppt[/I][/FONT][/COLOR][FONT=Arial][I][/I][/FONT][/SIZE]
[FONT=Arial][I][SIZE=3] [/SIZE][/I][/FONT]
[COLOR=teal][FONT=Arial][I][SIZE=3] ''''''' GRAPHIQUE 30[/SIZE][/I][/FONT][/COLOR]
[FONT=Arial][I][SIZE=3] Sheets("Division Global Sales").Select[/SIZE][/I][/FONT]
[FONT=Arial][I][SIZE=3] ActiveSheet.Shapes("Group 30").Copy[/SIZE][/I][/FONT]
[FONT=Arial][I][SIZE=3] [/SIZE][/I][/FONT]
[FONT=Arial][I][SIZE=3] PptDoc.Slides(2).Shapes.PasteSpecial ppPasteEnhancedMetafile [/SIZE][/I][/FONT]
[SIZE=3][COLOR=teal][FONT=Arial][I] [/I][/FONT][/COLOR][COLOR=teal][FONT=Arial][I]'collage image metafichier windows dans le Slide3 du document Power Point[/I][/FONT][/COLOR][/SIZE]
[FONT=Arial][I][SIZE=3] [/SIZE][/I][/FONT]
[FONT=Arial][I][SIZE=3] [/SIZE][/I][/FONT]
[SIZE=3][FONT=Arial][I] [/I][/FONT][COLOR=teal][FONT=Arial][I] 'compte le nombre de shapes dans le 3eme slide ; le dernier objet inséré correspond à l'index le plus élevé[/I][/FONT][/COLOR][/SIZE]
[SIZE=3][FONT=Arial][I] [/I][/FONT][FONT=Arial][I]NbShpe = PptDoc.Slides(2).Shapes.Count[/I][/FONT][/SIZE]
[FONT=Arial][I][SIZE=3] [/SIZE][/I][/FONT]
[FONT=Arial][I][SIZE=3] With PptDoc.Slides(2).Shapes(NbShpe)[/SIZE][/I][/FONT]
[SIZE=3][FONT=Arial][I] [/I][/FONT][FONT=Arial][I]'.Name = "monGraph[/I][/FONT][FONT=Arial][I]" [COLOR=teal]'personnaliser le nom de l'image insérée[/COLOR][/I][/FONT][FONT=Arial][I][/I][/FONT][/SIZE]
[SIZE=3][FONT=Arial][I] .Left = 100 [/I][/FONT][COLOR=teal][FONT=Arial][I]'position horizontale dans le slide[/I][/FONT][/COLOR][FONT=Arial][I][/I][/FONT][/SIZE]
[SIZE=3][FONT=Arial][I] .Top = 50 [/I][/FONT][FONT=Arial][I]'[COLOR=teal]position verticale dans le slide[/COLOR][/I][/FONT][FONT=Arial][I][/I][/FONT][/SIZE]
[SIZE=3][FONT=Arial][I] [/I][/FONT][FONT=Arial][I].Height = 400 [/I][/FONT][COLOR=teal][FONT=Arial][I]'hauteur image[/I][/FONT][/COLOR][FONT=Arial][I][/I][/FONT][/SIZE]
[SIZE=3][FONT=Arial][I] .Width = 600 [/I][/FONT][COLOR=teal][FONT=Arial][I]'largeur image[/I][/FONT][/COLOR][FONT=Arial][I][/I][/FONT][/SIZE]
[FONT=Arial][I][SIZE=3] End With[/SIZE][/I][/FONT]
[FONT=Arial][I][SIZE=3] [/SIZE][/I][/FONT]
[FONT=Arial][I][SIZE=3] [/SIZE][/I][/FONT]
[SIZE=3][FONT=Arial][I] [/I][/FONT][FONT=Arial][I]PptDoc.Save [/I][/FONT][COLOR=teal][FONT=Arial][I]'sauvegarder les modifications[/I][/FONT][/COLOR][FONT=Arial][I][/I][/FONT][/SIZE]
[SIZE=3][FONT=Arial][I] 'PptDoc.Close [/I][/FONT][COLOR=teal][FONT=Arial][I]'fermer le document ppt[/I][/FONT][/COLOR][FONT=Arial][I][/I][/FONT][/SIZE]
[SIZE=3][FONT=Arial][I] 'PPT.Quit ' [/I][/FONT][COLOR=teal][FONT=Arial][I]fermer l'application powerPoint[/I][/FONT][/COLOR][FONT=Arial][I][/I][/FONT][/SIZE]
[FONT=Arial][I][SIZE=3] [/SIZE][/I][/FONT]
[FONT=Arial][I][SIZE=3]End Sub