2011-03-15 4 views
0

Lorsque j'essaie de copier des données entre des feuilles de calcul, cela ne pose aucun problème, mais lorsque j'essaie de copier les mêmes données dans un document Word, il perd son format. Y at-il un moyen d'arrêter cela?Macro Excel - conserver le formatage de la source

' Copy all data from 1.xls to new.docx 
Sheets("Design").Select 
Range("A1:G50").Copy 
appWD.Selection.Paste 

Se pourrait-il quelque chose avec PasteSpecial?

Merci.

@Brown

Select Case Range("C19").Value 
    Case 1 
     Sheets("Info").Select 
     Range("B7").Copy Destination:=Sheets("Design").Range("A" & x) 
     x = x + 2 
End Select 

donc cette copie les données de la cellule C19 (feuille: Info) à la cellule B7 (feuille: Conception)

' I open my word doc etc. 
Sheets("Design").Select 
Range("A1:E50").Copy 
appWD.Selection.Paste 

Ceci permet de sélectionner la feuille de conception, copie tout et pâtes ceci dans un doc de mot. Je perds ma mise en forme, je suis également en utilisant XP, Office 2007.

+0

Lorsque j'essaie cela, cela fonctionne très bien, tous les formats sont conservés (en utilisant Office XP). J'ai vérifié les formats numériques et les couleurs de police. Pouvez-vous reproduire ce comportement dans un petit programme de test? –

+0

Édité mon commentaire – CustomX

+0

Pourquoi n'avez-vous pas regardé la documentation de PasteSpecial, puisque vous suggérez que cela pourrait être votre solution (indice: c'est, bien que j'en ai seulement l'expérience avec Excel). – Romain

Répondre

0

Voici mon programme de test simple

Sub test() 
    Dim wrdApp As Word.Application 
    Set wrdApp = New Word.Application 
    Dim wrdDoc As Word.Document 
    wrdApp.Documents.Add 
    Set wrdDoc = wrdApp.ActiveDocument 
    Range("A1:B1").Copy 
    wrdApp.Selection.Paste 
    wrdDoc.SaveAs "D:\tmp\myworddoc.doc" 
End Sub 

Cela fonctionne avec Office XP (je n'ai pas Office 2007 à portée de main). Les cellules A1: B1 contiennent des nombres formatés. Celui-ci fonctionne très bien sur ma machine, le mot créé doc contient aussi une table avec des nombres formatés. Pouvez-vous l'essayer sur le vôtre pour voir si cela fonctionne?

+0

hmm en effet, cela fonctionne. Je me demande pourquoi ça ne marche pas pour moi: s Mais merci quand même. – CustomX

+0

@Tom: découvrez ce qui est différent entre votre situation et la mienne, et vous avez terminé :-) –

+0

Haha merci: P – CustomX