Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

insérer une zone d'un classeur en tête d'un document créé par ma cr

21 réponses
Avatar
Sunburn
Bonjour,
j'ai une macro de mon classeur Excel qui me crée un nouveau document WORD.
Une fois créé, comment insérer un en-tête dans ce document Word ?
Cet en-tete est en fait une zone qui est dans Excel : feuille "DCA", de A1 à
G7.
De plus, il faudrait que l'en-tête se mette à la bonne taille automatiquement.
ça se fait depuis les macros Excel ou Word?
je pose aussi ma question sur le forum Word, au cas où.
Merci.
YANN

1 réponse

1 2 3
Avatar
Sunburn
Ok c'est bon
j'ai mis
wordobj.Visible = True
après
wordobj.ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
If NomDoc <> "" Then
wordobj.ActiveDocument.SaveAs ThisWorkbook.Path & "" & NomDoc

et j'ai mis en commentaire wordobj.quit, et ça roule.

Merci.
YANN

"Daniel.C" a écrit :

Là, c'est à toi de juger Je ne vois pourquoi ça ne fonctionne pas avec
CreateObject. Tu ne vois peut-être pas le document; si tu veux le voir,
ajoute :
wordobj.Visible = True
après :
wordobj.documents.Add Template:= _
"E:DonneesDanielmpfeenteteYannPourDaniel.dot",
NewTemplate:úlse, _
DocumentType:=0

Daniel

> Ouais, nikel, sauf qu'il n'ouvre pas le document Word comme il le faisait
> avant, et comme tu me le précise.
> pour palier ce pb, on pourrais ptèt lancer Word au tout début, juste
> l'application et après utiliser GetObject , non ???
> Merci YANN
>
> "Daniel.C" a écrit :
>
>> Bonjour.
>> Désolé. J'ai un problème avec Createobject et Word. Je teste donc avec
>> GetObject. Normalement, je remets GetObject en commentaire. La
>> différence est que CreateObject crée une instance de Word alors que
>> GetObject nécessite que Word soit déjà démarré. Comme je teste avec
>> GetObject, Word, que j'ai ouvert manuellement a déjà un document
>> standard ouvert; ce qui fait que, une fois ton document fermé, le
>> document standard reste, lui, ouvert. Je ne peux pas savoir ce qu'il en
>> est avec CreateObject, faute de pouvoir tester. Pour pallier ceci, si
>> le document est enregistré, je quitte Word. Donc pour résumer, si Word
>> n'est pas démarré, tu utilises CreateObject sinon, utilise Getobject
>> (mais pas les deux).
>> Je n'ai pas testé l'enregistrement, c'est toi qui a fourni le code.
>> Content que tu aies trouvé la solution.
>> Enfin, j'ai rectifié le problème de l'entête (vérifie quand même) :
>>
>> Sub MacroWord()
>> 'Avant de lancer cette macro, Dans l'éditeur VBA: Faire Menu / Outils /
>> 'Reference / Cocher "Microsoft Word xx.xx Library"
>> Dim NomDoc As String
>> Set wordobj = CreateObject("Word.Application")
>> 'Set wordobj = GetObject(, "Word.Application")
>> NomDoc = InputBox("Entrez le nom du document Word à enregistrer")
>> wordobj.documents.Add Template:= _
>> "E:DonneesDanielmpfeenteteYannPourDaniel.dot",
>> NewTemplate:úlse, _
>> DocumentType:=0
>> wordobj.ActiveWindow.ActivePane.View.SeekView =
>> wdSeekCurrentPageHeader
>> With wordobj.Selection
>> .MoveRight wdCell
>> .TypeText Text:=[DGA!B1].Value
>> .MoveRight wdCell, 3
>> .TypeText Text:=[DGA!G3].Value
>> .MoveRight wdCell, 2
>> .TypeText Text:=CStr([DGA!B2].Value)
>> .MoveRight wdCell, 3
>> .TypeText Text:=[DGA!G4].Value
>> .MoveRight wdCell, 2
>> .TypeText Text:=CStr([DGA!B3].Value)
>> .MoveRight wdCell, 3
>> .TypeText Text:=[DGA!G5].Value
>> End With
>> wordobj.ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
>> If NomDoc <> "" Then
>> wordobj.ActiveDocument.SaveAs ThisWorkbook.Path & "" & NomDoc
>> wordobj.Quit
>> End If
>> Set wordobj = Nothing
>> End Sub
>>
>>
>>> J'ai trouvé un truc
>>> j'ai mis ça à la fin :
>>> -----
>>> If NomDoc <> "" Then
>>> 'mydoc.SaveAs ThisWorkbook.Path & "" & NomDoc
>>> wordobj.ActiveDocument.SaveAs ThisWorkbook.Path & "" & NomDoc
>>> End If
>>> ------
>>>
>>> Et là, il m'ouvre un "Document1", et un "Machin", les 2 documents
>>> identiques, sachant que moi je lui ais dis "Machin" comme nom du
>>> document...... ????
>>>
>>> De plus, y'a un petit soucis dans le collage des informations:
>>> 3 lignes me suffisent et y'en a 4.
>>> B3 d'excel se colle dans mon Word en E3 au lieu de B3
>>> G5 d'excel se colle dans mon Word en C4 au lieu de E3
>>>
>>> YANN
>>
>>
>>





1 2 3