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 :

Collage spécial depuis Excel vers Word


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut Collage spécial depuis Excel vers Word
    Bonjour.
    Manuellement, j'arrive à effectuer un collage spécial de excel vers word et cela fonctionne.
    Mais quand je veux l'automatiser et le faire avec le fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WordDoc.Sections(i).Range.PasteSpecial
    , cela fait l'équivalent d'un simple coller et me perd donc ma mise en forme.
    Comment faire pour effectuer un collage spéciale depuis Excel dans Word SVP ?
    Merci d'avance
    doudouallemand

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Tu ne précises pas si tu colles une cellule ou le contenu d'une cellule... cépapareil !
    Si tu colles une cellule, le format suit.
    Si tu colles son contenu, le format ne suit pas.
    Précise ce que tu veux faire.
    A+

  3. #3
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    En fait, j'ai deux feuilles :
    - la première me sert de base et contient du texte
    - la deuxième est celle que je rempli automatiquement en vba avec la propriété "Formula" dans laquelle je met soit une formule, soit du texte directement. De plus, sur certains cellules, j'ai une couleur de fond. Et je dois également signaler la présence d'image importée.
    Voilà, maintenant, ce que je veux et de copier les images, couleurs et texte des cellules (mais pas les formules).
    En copie/coller spécial à la main, cela le fait bien, mais je n'y arrive pas en vba
    Merci d'avance
    doudouallemand

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Tu sélectionnes ta plage de cellules dans Excel, tu copies, tu te places en tête de ta section dans word et tu mets ton collage special
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Worksheets("Feuil1").range("A1:C12").copy
        AppWord.Selection.GoTo What:=wdGoToSection, Which:=wdGoToFirst, Count:=1, Name:=""
        AppWord.Selection.PasteSpecial Link:=False, DataType:=wdPasteOLEObject, Placement _
            :=wdInLine, DisplayAsIcon:=False
    on pourrait instancier la plage dans Excel et l'emplacement dans word mais là, tu as le principe.
    Teste déjà ça
    A+

    NB - Si tu veux lier les données dans Word avec ta plage dans Excel, mets
    ... , Link:=True, ...

  5. #5
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    Super!! Ca marche bien.
    Par contre, y'a-t-il moyen ensuite de pouvoir retoucher ce cadre, notamment la taille de celui-ci ?
    Merci à toi
    doudouallemand

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Testeça()
    Dim LeTruc as variant
        For Each LeTruc In AppDoc.InlineShapes
            leTruc.Height = 200 'en inch
            LeTruc.width = 300
        Next
    end sub
    Tu dis

  7. #7
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    Citation Envoyé par ouskel'n'or Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Testeça()
    Dim LeTruc as variant
        For Each LeTruc In AppDoc.InlineShapes
            leTruc.Height = 200 'en inch
            LeTruc.width = 300
        Next
    end sub
    Tu dis
    OK, merci, je vais tester cela et je te redis.
    doudouallemand

  8. #8
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    Bonjour.
    J'ai donc tester tout cela et en effet, tout fonctionne à peu près bien.
    Je dis à peu près car, malgré mes recherches, il me reste 2 problèmes encore :
    - le premier problème concerne une erreur (voir piece jointe) d'attente ole par excel lorsque l'on colle dans word (alors que la copie se fait bien) (la copie prend plus de 30 secondes !!) Pourquoi cette erreur et comment la faire disparaître SVP ?
    - le fichier excel d'origine avec les images fait 80 Mo pour l'équivalent de 60 pages et, lorsque je copie, après seulement 3 pages, le document word fait déjà 166 Mo !! Pourquoi et comment réduire cette taille SVP ?

    Merci encore d'avance pour votre aide.
    Cordialement
    doudouallemand

  9. #9
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Ouf !
    Aucune idée. Lies-tu le classeur au doc word ?
    Si tu le lies, ça fait autant de liaisons que de collages... Est-ce une raison ?
    Si tu ne le lies pas, je ne vois toujours pas mais tu pourrais, à la place d'un collage spécial Feuille Excel, coller une image de ta copie.
    Regarde les options dans Word à collage spécial.
    Et je ne suis sûr de rien car c'est un bitmap que tu colleras... et les bmp prennent également pas mal de place.
    Désolé (je n'arrête pas d'être désolé de ne pouvoir répondre cet aprem... )
    Dis-nous si tu trouves une solution

    Une autre possibilité : Excel et Word sont-ils de la même version d'Office
    Une autre possibilité : Il est possible qu'après tous tes essais, ton doc word soit vérolé. Teste dans un nouveau doc après avoir redémarré Excel et Word
    Ce coup-ci, je suis sec
    A+

  10. #10
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    Oups, j'avais oublié la pièce jointe, la voici
    merci
    Images attachées Images attachées  

  11. #11
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    Citation Envoyé par ouskel'n'or Voir le message
    Ouf !
    Aucune idée. Lies-tu le classeur au doc word ?
    Si tu le lies, ça fait autant de liaisons que de collages... Est-ce une raison ?
    Si tu ne le lies pas, je ne vois toujours pas mais tu pourrais, à la place d'un collage spécial Feuille Excel, coller une image de ta copie.
    C'est ce que je suis en train d'essayer... à voir
    Citation Envoyé par ouskel'n'or Voir le message
    Regarde les options dans Word à collage spécial.
    Et je ne suis sûr de rien car c'est un bitmap que tu colleras... et les bmp prennent également pas mal de place.
    Désolé (je n'arrête pas d'être désolé de ne pouvoir répondre cet aprem... )
    Dis-nous si tu trouves une solution

    Une autre possibilité : Excel et Word sont-ils de la même version d'Office
    Oui, ils sont de la même version, pourquoi ?
    Citation Envoyé par ouskel'n'or Voir le message
    Une autre possibilité : Il est possible qu'après tous tes essais, ton doc word soit vérolé. Teste dans un nouveau doc après avoir redémarré Excel et Word
    Ce coup-ci, je suis sec
    A+
    Ma macro excel créée un nouveau fichier word à chaque fois que j'execute ma macro et je ferme excel tous les 2 ou 3 tests donc, rien de ce côté là.
    Merci

  12. #12
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    A tout hasard, montre ton code de création de doc et de démarrage de Word.
    A+

  13. #13
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    Citation Envoyé par ouskel'n'or Voir le message
    A tout hasard, montre ton code de création de doc et de démarrage de Word.
    A+
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        FileCopy fichier_source, fichier_dest
        Set WordApp = CreateObject("Word.Application")
        WordApp.Visible = True
        Set WordDoc = WordApp.Documents.Open(fichier_dest)
    Merci

  14. #14
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    Bon, je viens de faire l'essai en bitmap et ... ca marche super mais ...
    Et oui, il y a toujours un mais, la qualité obtenu avec le bitmap est très médiocre (presque illisible)... Y'aurait pas moyen de mettre ca en jpeg ?
    Sinon, où est-ce que je peux trouver la doc de toutes ces fonctions ?
    Merci

  15. #15
    Membre éclairé
    Avatar de doudoustephane
    Homme Profil pro
    Gérant
    Inscrit en
    Août 2005
    Messages
    1 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Gérant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 129
    Points : 862
    Points
    862
    Par défaut
    Bon, ça y est, j'ai trouvé la solution : j'utilise un collage en datatype "wdPasteMetafilePicture". Cela va vite à se copier et pèse moins de 1Mo les trois pages pour une très bonne qualité.
    Il ne reste plus qu'à faire valider tout cela auprès de mon client.
    Merci beaucoup à toi ouskel'n'or pour toute ton aide.
    Je passe ce sujet en résolu.
    Cordialement
    doudouallemand

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Copie depuis Excel vers word
    Par Uranne-jimmy dans le forum VB.NET
    Réponses: 1
    Dernier message: 25/10/2013, 16h36
  2. Copier Collage Spécial d'Excel vers Word
    Par jojomars dans le forum Word
    Réponses: 3
    Dernier message: 25/11/2008, 18h16
  3. [sources] Generer une bibliographie depuis excel vers word
    Par merenptah44 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/05/2007, 11h13
  4. [sources] Generer une bibliographie depuis excel vers word
    Par merenptah44 dans le forum Contribuez
    Réponses: 0
    Dernier message: 22/05/2007, 11h07
  5. Réponses: 4
    Dernier message: 03/10/2006, 17h08

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