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

Macros et VBA Excel Discussion :

Excel to Word dimension collages


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Analyse système
    Inscrit en
    Novembre 2019
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Novembre 2019
    Messages : 9
    Par défaut Excel to Word dimension collages
    Bonjour à tous,

    J'ai créée une macro qui permet de copier des charts ou des zones de texte depuis Excel pour les coller sur Word.

    J'aimerais juste pouvoir les redimensionner une fois collé mais je ne trouve pas la bonne formulation.

    Quelqu'un peut-il m'aider ?

    Merci.

    Pour info, voilà le code utilisé :

    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
    Sub word()
    Dim WordApp As Object, WordDoc As Object, ctrl As Object
    Dim nom_fichier As String
     
    Set WordApp = CreateObject("word.application")
    WordApp.Visible = True
    nom_fichier = "C:\Users\*********\Desktop\Divers\test.docx"
    Set WordDoc = WordApp.Documents.Open(nom_fichier)
     
    For K = 1 To 3
     
    ActiveSheet.ChartObjects("Graphique " & K).Activate
    ActiveChart.ChartArea.Copy
    WordDoc.bookmarks("Graph" & K).Range.Select
    WordApp.Selection.PasteandFormat (wdchartPicture)
    WordApp.Selection.ParagraphFormat.Alignment = 1 'wdAlignParagraphCenter
     
    Next
     
    With WordApp.Selection
    Sheets("Feuil1").Range("A1:G7").Copy
    WordDoc.bookmarks("Zone1").Range.Select
    WordApp.Selection.PasteSpecial DataType:=wdPasteEnhancedMetafile, Placement:=1
     
    End With
     
     
    End Sub

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

    Les objets que vous récupérez sur Word sont soit des InlineShape, soit des Shape. Vous avez la possibilité de convertir vos variables InlineShape en Shape pour pouvoir placer plus facilement vos objets sur le document. Il vous suffit donc de créer deux variables de type InlineShape et Shape, de décompter leur nombre dans les collections InlineShapes et Shapes avant et après collage pour instancier vos variables.

    Nb : En phase de développement, vous devriez plutôt travailler avec des variables Word et pas en "late binding" comme vous le faites. Bien entendu, il vous faut utiliser avec les paramètres numériques et non les paramètres Wd...

    Je me demande s'il ne vous faudra pas déclarer la DLL Microsoft Windows Image Acquisition Library pour travailler avec vos images, à voir.

Discussions similaires

  1. Réponses: 6
    Dernier message: 08/01/2013, 22h35
  2. [XL-2003] Problème de collage de tableau Excel dans Word
    Par zert84 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 03/07/2009, 15h03
  3. Copier Collage Spécial d'Excel vers Word
    Par jojomars dans le forum Word
    Réponses: 3
    Dernier message: 25/11/2008, 18h16
  4. Insertion d'un collage excel sous word.
    Par Empty_body dans le forum Word
    Réponses: 1
    Dernier message: 22/07/2008, 20h52
  5. Collage spécial depuis Excel vers Word
    Par doudoustephane dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 03/04/2008, 17h14

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