Macro VB - Copy / Paste en conservant la mise en forme source (C) ?
Bonjour,
Je constitue des Organigrammes Graphiques dans un classeur excel et je les recopie via une Macro sur des diapos ppt.
Code:
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 45 46 47 48 49 50 51 52
|
Sub nouveaucode()
'Définition des variables pour PPT
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
'Définition des variables pour choisir et ouvrir le bon excel
Dim objOuvrir As FileDialog
Dim objFichiers As FileDialogSelectedItems
Dim x As Long
Dim Wb As Workbook
Dim Source As Worksheet
Dim Cible As Worksheet
Dim DEST As Range
'choix du bon fichier ressources à traiter
With Application.FileDialog(msoFileDialogOpen)
.InitialFileName = ""
.Filters.Clear 'Efface les filtres existants.
.Filters.Add "Classeurs Excel", "*.xls; *.xlsx; *.xlsm" 'Définit une liste de filtres pour le champ "Type de fichiers".
.InitialView = msoFileDialogViewDetails 'Indique le type d'affichage dans la boîte de dialogue
.Show
End With
Set objFichiers = Application.FileDialog(msoFileDialogOpen).SelectedItems 'Définit le ou les fichiers à ouvrir
If objFichiers.Count = 0 Then Exit Sub 'On sort si aucun fichier n'a été sélectionné
For x = 1 To objFichiers.Count 'Boucle sur le ou les fichiers Excel sélectionnés pour les ouvrir
'Insérer le source
'J'initialise mes variables
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open(objFichiers(x))
xlApp.Visible = True
For numfeuille = 2 To 8 ' France(2), BANCA(3), EPA(4), PLAC(5), CLI(6), COM(7), TRANS(8)
nomfeuille = xlBook.Sheets(numfeuille).Name
xlBook.Sheets(nomfeuille).Select
xlBook.ActiveSheet.Shapes.Range(Array("Groupe" & nomfeuille)).Select
xlApp.Selection.Copy
ActivePresentation.Slides(numfeuille + 2).Shapes.Paste
ActivePresentation.Slides(numfeuille + 2).Shapes.Range(1).Align msoAlignMiddles, msoCTrue
ActivePresentation.Slides(numfeuille + 2).Shapes.Range(1).Align msoAlignCenters, msoCTrue
Next
xlApp.Visible = False
xlBook.Close False
Next
End Sub |
Ce faisant la copie se fait, mais "en utilisant le thème de destination (H).
Que faut-il utiliser pour avoir une copie "en conservant la mise en forme source (C)" ?
Merci d'avance de votre aide