IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Powerpoint Discussion :

Macro VB - Copy / Paste en conservant la mise en forme source (C) ?


Sujet :

Powerpoint

  1. #1
    Membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2011
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2011
    Messages : 51
    Points : 44
    Points
    44
    Par défaut 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 : 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
    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

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par cdurep Voir le message
    Bonjour,

    Au lieu de la méthode Paste, regardez si la méthode PasteSpecial règle votre problème.
    Pour cela, accédez à l'aide en ligne dans l'éditeur VBA PowerPoint pour voir les paramètres possibles : powerpoint.shapes.pastespecial

  3. #3
    Membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2011
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2011
    Messages : 51
    Points : 44
    Points
    44
    Par défaut
    Bonjour,

    Bien vu et Merci, mais ne répond pas à mon besoin qui est de coller le détail en respectant le format source, pour laisser la possibilité de le corriger/modifier.
    PasteSpecial copie une image, ou le détail avec ppPasteDefault mais sans respecter le format source

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par cdurep Voir le message
    Bonjour,

    Vous avez testé toutes les options ?
    Sans faire appel à VBA, copiez dans Excel, et regardez les formats de collage sur votre document pour voir s'il y a en a un qui correspond.

  5. #5
    Membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2011
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2011
    Messages : 51
    Points : 44
    Points
    44
    Par défaut
    Oui, j'ai testé toutes les options.
    Qu'appelez vous format de collage ?
    Tout ce que je connais est ceci : Nom : Capture.PNG
Affichages : 753
Taille : 13,3 Ko
    et pour conserver le format source en copiant sous Excel et collant sous PPT j'utilise l'option 2 "Conserver la mise en forme source (C)" que je n'arrive pas à reproduire en VBA.
    Je me demande si la seule solution ne sera pas d'appliquer le thème couleur et Police du PPT sur le fichier Excel; là aussi pour le moment je sèche. Mais je cherche
    Si vous savez, je suis preneur.
    Merci d'avance

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par cdurep Voir le message
    Je n'ai pu faire l'essai depuis Excel, car trop long à modéliser.
    Le vidage d'écran suivant montre les différentes possibilités du collage spécial. Pour faire apparaître les possibilités, tapez : et = derrière DataType. Il faut ensuite essayer les différentes possibilités sachant que beaucoup feront planter la procédure.

    Pièce jointe 544264

  7. #7
    Membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2011
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2011
    Messages : 51
    Points : 44
    Points
    44
    Par défaut
    C'est bien comme cela que j'ai fait et aucune option ne répond au besoin

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par cdurep Voir le message
    Il doit y avoir une subtilité que je n'ai pas encore saisie. Je ne peux pas vous aider plus.

    Bon courage.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    376
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 376
    Points : 596
    Points
    596
    Par défaut
    Bonjour,

    Pour coller un objet dans PowerPoint avec le format source, essaie ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.CommandBars.ExecuteMso ("PasteSourceFormatting")
    Je ne sais plus d'où je tiens ça, mais normalement, ça marche pour une liaison avec format source.

    m@rina

Discussions similaires

  1. Réponses: 10
    Dernier message: 16/04/2016, 22h57
  2. [XL-2013] Copier Coller en conservant la mise en forme source
    Par Marneus22 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/08/2013, 18h33
  3. [PPT-2010] Copier Coller en conservant la mise en forme source
    Par Marneus22 dans le forum VBA PowerPoint
    Réponses: 1
    Dernier message: 29/08/2013, 18h32
  4. [PPT-2013] Conserver la mise en forme source des présentations en VBA
    Par fidecourt dans le forum VBA PowerPoint
    Réponses: 0
    Dernier message: 13/03/2013, 11h17
  5. Macro Excel: enreg d1 cellule en conservant le mise en forme
    Par repié dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 02/12/2005, 15h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo