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

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 3
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #17957751
Bonjour.
Ca peut se faire avec une macro Word, mais la logique voudrait que,
sauf impossibilité, tu inclues les instructions dans ta macro Excel.
Quand tu parles de "la bonne taille", tu veux dire que les cellules du
tableau doivent occuper toute la largeur de la page ou qu'elles doivent
s'ajuster au texte ?
Poste ton code, ça sera plus facile.
Cordialement.
Daniel

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


Sunburn
Le #17962481
Daniel,
je préfère que ça se fasse sous Excel, oui.
pour la bonne taille, je veux que les cellules du tableau occupent toute la
largeur de la page. Cependant, certains critères :
** les dimensions dans Word de certaines colonnes devront être fixe
colone A = 8, colonne B = 13, colonne F = 11 et colonne G = 8
** les colonnes C, D et E, peut importe, en fait l'ajustement de la taille
devra se faire sur ces 3 colonnes (la même taille peut être, pour plus de
"beauté").
** De plus, j'ai une valeur en C3 de mon tableau, celle-ci sera effacée.
** Enfin, l'en-tête n'a pas à être verouillé.
voici mon code actuel pour créer mon document Word :
---
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")
Set Mydoc = wordobj.documents.Add(documentType:=wdNewBlankDocument)
If NomDoc <> "" Then
Mydoc.SaveAs ThisWorkbook.Path & "" & NomDoc
'wordobj.activedocument.SaveAs ThisWorkbook.Path & "" & NomDoc
End If
wordobj.Visible = True
Set wordobj = Nothing
End Sub
------
Merci
YANN

"Daniel.C" a écrit :

Bonjour.
Ca peut se faire avec une macro Word, mais la logique voudrait que,
sauf impossibilité, tu inclues les instructions dans ta macro Excel.
Quand tu parles de "la bonne taille", tu veux dire que les cellules du
tableau doivent occuper toute la largeur de la page ou qu'elles doivent
s'ajuster au texte ?
Poste ton code, ça sera plus facile.
Cordialement.
Daniel

> 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





Daniel.C
Le #17963931
Juste une précision.
Pour la largeur des cellules d'entête sous Word, si je fais un prorata
des largeurs des cellules d'Excel que tu m'a fournies, avec les marges
standard gauche et droite de 2,5 cm, j'obtiens
- 1.85 cm
- 3.01 cm
- 2.55 cm
- 1.85 cm
respectivement pour les cellules A, B, F et G.
les largeurs des autres cellules étant à 2,32 cm
Peux-tu valider ceci ?
Daniel

Daniel,
je préfère que ça se fasse sous Excel, oui.
pour la bonne taille, je veux que les cellules du tableau occupent toute la
largeur de la page. Cependant, certains critères :
** les dimensions dans Word de certaines colonnes devront être fixe
colone A = 8, colonne B = 13, colonne F = 11 et colonne G = 8
** les colonnes C, D et E, peut importe, en fait l'ajustement de la taille
devra se faire sur ces 3 colonnes (la même taille peut être, pour plus de
"beauté").
** De plus, j'ai une valeur en C3 de mon tableau, celle-ci sera effacée.
** Enfin, l'en-tête n'a pas à être verouillé.
voici mon code actuel pour créer mon document Word :
---
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")
Set Mydoc = wordobj.documents.Add(documentType:=wdNewBlankDocument)
If NomDoc <> "" Then
Mydoc.SaveAs ThisWorkbook.Path & "" & NomDoc
'wordobj.activedocument.SaveAs ThisWorkbook.Path & "" & NomDoc
End If
wordobj.Visible = True
Set wordobj = Nothing
End Sub
------
Merci
YANN

"Daniel.C" a écrit :

Bonjour.
Ca peut se faire avec une macro Word, mais la logique voudrait que,
sauf impossibilité, tu inclues les instructions dans ta macro Excel.
Quand tu parles de "la bonne taille", tu veux dire que les cellules du
tableau doivent occuper toute la largeur de la page ou qu'elles doivent
s'ajuster au texte ?
Poste ton code, ça sera plus facile.
Cordialement.
Daniel

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









Sunburn
Le #17964081
oui c'est bien ça Daniel.
pour les autres cellules, il faut qu'elle puisse se mettre à la taille
automatiquement si jamais l'utilisateur met en mode paysage au lieu de
portait (c'est à dire qu'elle se séparent en 3 l'espace disponible).. enfin
si c'est possible bien sûr.
Merci.
YANN

"Daniel.C" a écrit :

Juste une précision.
Pour la largeur des cellules d'entête sous Word, si je fais un prorata
des largeurs des cellules d'Excel que tu m'a fournies, avec les marges
standard gauche et droite de 2,5 cm, j'obtiens
- 1.85 cm
- 3.01 cm
- 2.55 cm
- 1.85 cm
respectivement pour les cellules A, B, F et G.
les largeurs des autres cellules étant à 2,32 cm
Peux-tu valider ceci ?
Daniel

> Daniel,
> je préfère que ça se fasse sous Excel, oui.
> pour la bonne taille, je veux que les cellules du tableau occupent toute la
> largeur de la page. Cependant, certains critères :
> ** les dimensions dans Word de certaines colonnes devront être fixe
> colone A = 8, colonne B = 13, colonne F = 11 et colonne G = 8
> ** les colonnes C, D et E, peut importe, en fait l'ajustement de la taille
> devra se faire sur ces 3 colonnes (la même taille peut être, pour plus de
> "beauté").
> ** De plus, j'ai une valeur en C3 de mon tableau, celle-ci sera effacée.
> ** Enfin, l'en-tête n'a pas à être verouillé.
> voici mon code actuel pour créer mon document Word :
> ---
> 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")
> Set Mydoc = wordobj.documents.Add(documentType:=wdNewBlankDocument)
> If NomDoc <> "" Then
> Mydoc.SaveAs ThisWorkbook.Path & "" & NomDoc
> 'wordobj.activedocument.SaveAs ThisWorkbook.Path & "" & NomDoc
> End If
> wordobj.Visible = True
> Set wordobj = Nothing
> End Sub
> ------
> Merci
> YANN
>
> "Daniel.C" a écrit :
>
>> Bonjour.
>> Ca peut se faire avec une macro Word, mais la logique voudrait que,
>> sauf impossibilité, tu inclues les instructions dans ta macro Excel.
>> Quand tu parles de "la bonne taille", tu veux dire que les cellules du
>> tableau doivent occuper toute la largeur de la page ou qu'elles doivent
>> s'ajuster au texte ?
>> Poste ton code, ça sera plus facile.
>> Cordialement.
>> Daniel
>>
>>> 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
>>
>>
>>





Daniel.C
Le #17965391
Regarde la macro ci-dessous.
Je ne suis pas persuadé que le dimensionnement ne change pas quand tu
changes l'orientatiion de la page. Le dimensionnement se code au niveau
du tableau, pas au niveau de la colonne.

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")
Set mydoc =
wordobj.documents.Add(documentType:=wdNewBlankDocument)
wordobj.ActiveWindow.ActivePane.View.SeekView =
wdSeekCurrentPageHeader
mydoc.Tables.Add Range:=wordobj.Selection.Range, NumRows:=1,
NumColumns:= _
7, DefaultTableBehavior:=wdWord9TableBehavior,
AutoFitBehavior:= _
wdAutoFitWindow
With wordobj.Selection
For i = 1 To 7
.TypeText Text:=Sheets("DCA").Cells(1, i).Value
If i < 7 Then .MoveRight Unit:=wdCell
Next i
.MoveLeft Unit:=wdCell, Count:=6
.Tables(1).Columns(1).PreferredWidthType =
wdPreferredWidthPoints
.Tables(1).Columns(1).PreferredWidth =
CentimetersToPoints(1.85)
.Move Unit:=wdColumn, Count:=1
.SelectColumn
.Columns.PreferredWidthType = wdPreferredWidthPoints
.Columns.PreferredWidth = CentimetersToPoints(3.01)
.Move Unit:=wdColumn, Count:=1
.SelectColumn
.Move Unit:=wdColumn, Count:=1
.SelectColumn
.Move Unit:=wdColumn, Count:=1
.SelectColumn
.Move Unit:=wdColumn, Count:=1
.SelectColumn
.Columns.PreferredWidthType = wdPreferredWidthPoints
.Columns.PreferredWidth = CentimetersToPoints(2.55)
.Move Unit:=wdColumn, Count:=1
.SelectColumn
.Columns.PreferredWidthType = wdPreferredWidthPoints
.Columns.PreferredWidth = CentimetersToPoints(1.85)
End With
wordobj.ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
If NomDoc <> "" Then
mydoc.SaveAs ThisWorkbook.Path & "" & NomDoc
'wordobj.activedocument.SaveAs ThisWorkbook.Path & "" &
NomDoc
End If
wordobj.Visible = True
Set wordobj = Nothing
End Sub

Daniel

oui c'est bien ça Daniel.
pour les autres cellules, il faut qu'elle puisse se mettre à la taille
automatiquement si jamais l'utilisateur met en mode paysage au lieu de
portait (c'est à dire qu'elle se séparent en 3 l'espace disponible).. enfin
si c'est possible bien sûr.
Merci.
YANN

"Daniel.C" a écrit :

Juste une précision.
Pour la largeur des cellules d'entête sous Word, si je fais un prorata
des largeurs des cellules d'Excel que tu m'a fournies, avec les marges
standard gauche et droite de 2,5 cm, j'obtiens
- 1.85 cm
- 3.01 cm
- 2.55 cm
- 1.85 cm
respectivement pour les cellules A, B, F et G.
les largeurs des autres cellules étant à 2,32 cm
Peux-tu valider ceci ?
Daniel

Daniel,
je préfère que ça se fasse sous Excel, oui.
pour la bonne taille, je veux que les cellules du tableau occupent toute la
largeur de la page. Cependant, certains critères :
** les dimensions dans Word de certaines colonnes devront être fixe
colone A = 8, colonne B = 13, colonne F = 11 et colonne G = 8
** les colonnes C, D et E, peut importe, en fait l'ajustement de la taille
devra se faire sur ces 3 colonnes (la même taille peut être, pour plus de
"beauté").
** De plus, j'ai une valeur en C3 de mon tableau, celle-ci sera effacée.
** Enfin, l'en-tête n'a pas à être verouillé.
voici mon code actuel pour créer mon document Word :
---
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")
Set Mydoc = wordobj.documents.Add(documentType:=wdNewBlankDocument)
If NomDoc <> "" Then
Mydoc.SaveAs ThisWorkbook.Path & "" & NomDoc
'wordobj.activedocument.SaveAs ThisWorkbook.Path & "" & NomDoc
End If
wordobj.Visible = True
Set wordobj = Nothing
End Sub
------
Merci
YANN

"Daniel.C" a écrit :

Bonjour.
Ca peut se faire avec une macro Word, mais la logique voudrait que,
sauf impossibilité, tu inclues les instructions dans ta macro Excel.
Quand tu parles de "la bonne taille", tu veux dire que les cellules du
tableau doivent occuper toute la largeur de la page ou qu'elles doivent
s'ajuster au texte ?
Poste ton code, ça sera plus facile.
Cordialement.
Daniel

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
















Sunburn
Le #17965971
salut daniel,
ben, ça plante à
.TypeText Text:=Sheets("DCA").Cells(1, i).Value
en me mettant sur i, i= 3
je précise que la ligne 3 est fusionnée entre C et E, mais tout comme la
ligne 2, 4 et 5.
la ligne 1 est fusionnée de B à E.
je ne sais pas si ça joue.
YANN


"Daniel.C" a écrit :

Regarde la macro ci-dessous.
Je ne suis pas persuadé que le dimensionnement ne change pas quand tu
changes l'orientatiion de la page. Le dimensionnement se code au niveau
du tableau, pas au niveau de la colonne.

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")
Set mydoc =
wordobj.documents.Add(documentType:=wdNewBlankDocument)
wordobj.ActiveWindow.ActivePane.View.SeekView =
wdSeekCurrentPageHeader
mydoc.Tables.Add Range:=wordobj.Selection.Range, NumRows:=1,
NumColumns:= _
7, DefaultTableBehavior:=wdWord9TableBehavior,
AutoFitBehavior:= _
wdAutoFitWindow
With wordobj.Selection
For i = 1 To 7
.TypeText Text:=Sheets("DCA").Cells(1, i).Value
If i < 7 Then .MoveRight Unit:=wdCell
Next i
.MoveLeft Unit:=wdCell, Count:=6
.Tables(1).Columns(1).PreferredWidthType =
wdPreferredWidthPoints
.Tables(1).Columns(1).PreferredWidth =
CentimetersToPoints(1.85)
.Move Unit:=wdColumn, Count:=1
.SelectColumn
.Columns.PreferredWidthType = wdPreferredWidthPoints
.Columns.PreferredWidth = CentimetersToPoints(3.01)
.Move Unit:=wdColumn, Count:=1
.SelectColumn
.Move Unit:=wdColumn, Count:=1
.SelectColumn
.Move Unit:=wdColumn, Count:=1
.SelectColumn
.Move Unit:=wdColumn, Count:=1
.SelectColumn
.Columns.PreferredWidthType = wdPreferredWidthPoints
.Columns.PreferredWidth = CentimetersToPoints(2.55)
.Move Unit:=wdColumn, Count:=1
.SelectColumn
.Columns.PreferredWidthType = wdPreferredWidthPoints
.Columns.PreferredWidth = CentimetersToPoints(1.85)
End With
wordobj.ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
If NomDoc <> "" Then
mydoc.SaveAs ThisWorkbook.Path & "" & NomDoc
'wordobj.activedocument.SaveAs ThisWorkbook.Path & "" &
NomDoc
End If
wordobj.Visible = True
Set wordobj = Nothing
End Sub

Daniel

> oui c'est bien ça Daniel.
> pour les autres cellules, il faut qu'elle puisse se mettre à la taille
> automatiquement si jamais l'utilisateur met en mode paysage au lieu de
> portait (c'est à dire qu'elle se séparent en 3 l'espace disponible).. enfin
> si c'est possible bien sûr.
> Merci.
> YANN
>
> "Daniel.C" a écrit :
>
>> Juste une précision.
>> Pour la largeur des cellules d'entête sous Word, si je fais un prorata
>> des largeurs des cellules d'Excel que tu m'a fournies, avec les marges
>> standard gauche et droite de 2,5 cm, j'obtiens
>> - 1.85 cm
>> - 3.01 cm
>> - 2.55 cm
>> - 1.85 cm
>> respectivement pour les cellules A, B, F et G.
>> les largeurs des autres cellules étant à 2,32 cm
>> Peux-tu valider ceci ?
>> Daniel
>>
>>> Daniel,
>>> je préfère que ça se fasse sous Excel, oui.
>>> pour la bonne taille, je veux que les cellules du tableau occupent toute la
>>> largeur de la page. Cependant, certains critères :
>>> ** les dimensions dans Word de certaines colonnes devront être fixe
>>> colone A = 8, colonne B = 13, colonne F = 11 et colonne G = 8
>>> ** les colonnes C, D et E, peut importe, en fait l'ajustement de la taille
>>> devra se faire sur ces 3 colonnes (la même taille peut être, pour plus de
>>> "beauté").
>>> ** De plus, j'ai une valeur en C3 de mon tableau, celle-ci sera effacée.
>>> ** Enfin, l'en-tête n'a pas à être verouillé.
>>> voici mon code actuel pour créer mon document Word :
>>> ---
>>> 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")
>>> Set Mydoc = wordobj.documents.Add(documentType:=wdNewBlankDocument)
>>> If NomDoc <> "" Then
>>> Mydoc.SaveAs ThisWorkbook.Path & "" & NomDoc
>>> 'wordobj.activedocument.SaveAs ThisWorkbook.Path & "" & NomDoc
>>> End If
>>> wordobj.Visible = True
>>> Set wordobj = Nothing
>>> End Sub
>>> ------
>>> Merci
>>> YANN
>>>
>>> "Daniel.C" a écrit :
>>>
>>>> Bonjour.
>>>> Ca peut se faire avec une macro Word, mais la logique voudrait que,
>>>> sauf impossibilité, tu inclues les instructions dans ta macro Excel.
>>>> Quand tu parles de "la bonne taille", tu veux dire que les cellules du
>>>> tableau doivent occuper toute la largeur de la page ou qu'elles doivent
>>>> s'ajuster au texte ?
>>>> Poste ton code, ça sera plus facile.
>>>> Cordialement.
>>>> Daniel
>>>>
>>>>> 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
>>>>
>>>>
>>>>
>>
>>
>>





Daniel.C
Le #17966141
Bon.
Les cellules fusionnées, c'est l'enfer !
D'abord, j'ai seulement pris les cellules de A1 à G1. De A1 à G7, ça va
en faire un sacré paquet à mettre dans un entête, non. Il faut les
mettre sur combien de lignes. Si tu as des cellules fusionnées,
envoie-moi (sur cjoint) une feuille avec les cellules telles qu'elles
sont. Je ne peux rien faire avant de l'avoir vu.
Daniel

salut daniel,
ben, ça plante à
.TypeText Text:=Sheets("DCA").Cells(1, i).Value
en me mettant sur i, i= 3
je précise que la ligne 3 est fusionnée entre C et E, mais tout comme la
ligne 2, 4 et 5.
la ligne 1 est fusionnée de B à E.
je ne sais pas si ça joue.
YANN


"Daniel.C" a écrit :

Regarde la macro ci-dessous.
Je ne suis pas persuadé que le dimensionnement ne change pas quand tu
changes l'orientatiion de la page. Le dimensionnement se code au niveau
du tableau, pas au niveau de la colonne.

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")
Set mydoc =
wordobj.documents.Add(documentType:=wdNewBlankDocument)
wordobj.ActiveWindow.ActivePane.View.SeekView =
wdSeekCurrentPageHeader
mydoc.Tables.Add Range:=wordobj.Selection.Range, NumRows:=1,
NumColumns:= _
7, DefaultTableBehavior:=wdWord9TableBehavior,
AutoFitBehavior:= _
wdAutoFitWindow
With wordobj.Selection
For i = 1 To 7
.TypeText Text:=Sheets("DCA").Cells(1, i).Value
If i < 7 Then .MoveRight Unit:=wdCell
Next i
.MoveLeft Unit:=wdCell, Count:=6
.Tables(1).Columns(1).PreferredWidthType =
wdPreferredWidthPoints
.Tables(1).Columns(1).PreferredWidth =
CentimetersToPoints(1.85)
.Move Unit:=wdColumn, Count:=1
.SelectColumn
.Columns.PreferredWidthType = wdPreferredWidthPoints
.Columns.PreferredWidth = CentimetersToPoints(3.01)
.Move Unit:=wdColumn, Count:=1
.SelectColumn
.Move Unit:=wdColumn, Count:=1
.SelectColumn
.Move Unit:=wdColumn, Count:=1
.SelectColumn
.Move Unit:=wdColumn, Count:=1
.SelectColumn
.Columns.PreferredWidthType = wdPreferredWidthPoints
.Columns.PreferredWidth = CentimetersToPoints(2.55)
.Move Unit:=wdColumn, Count:=1
.SelectColumn
.Columns.PreferredWidthType = wdPreferredWidthPoints
.Columns.PreferredWidth = CentimetersToPoints(1.85)
End With
wordobj.ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
If NomDoc <> "" Then
mydoc.SaveAs ThisWorkbook.Path & "" & NomDoc
'wordobj.activedocument.SaveAs ThisWorkbook.Path & "" &
NomDoc
End If
wordobj.Visible = True
Set wordobj = Nothing
End Sub

Daniel

oui c'est bien ça Daniel.
pour les autres cellules, il faut qu'elle puisse se mettre à la taille
automatiquement si jamais l'utilisateur met en mode paysage au lieu de
portait (c'est à dire qu'elle se séparent en 3 l'espace disponible).. enfin
si c'est possible bien sûr.
Merci.
YANN

"Daniel.C" a écrit :

Juste une précision.
Pour la largeur des cellules d'entête sous Word, si je fais un prorata
des largeurs des cellules d'Excel que tu m'a fournies, avec les marges
standard gauche et droite de 2,5 cm, j'obtiens
- 1.85 cm
- 3.01 cm
- 2.55 cm
- 1.85 cm
respectivement pour les cellules A, B, F et G.
les largeurs des autres cellules étant à 2,32 cm
Peux-tu valider ceci ?
Daniel

Daniel,
je préfère que ça se fasse sous Excel, oui.
pour la bonne taille, je veux que les cellules du tableau occupent toute
la largeur de la page. Cependant, certains critères :
** les dimensions dans Word de certaines colonnes devront être fixe
colone A = 8, colonne B = 13, colonne F = 11 et colonne G = 8
** les colonnes C, D et E, peut importe, en fait l'ajustement de la
taille devra se faire sur ces 3 colonnes (la même taille peut être, pour
plus de "beauté").
** De plus, j'ai une valeur en C3 de mon tableau, celle-ci sera effacée.
** Enfin, l'en-tête n'a pas à être verouillé.
voici mon code actuel pour créer mon document Word :
---
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")
Set Mydoc = wordobj.documents.Add(documentType:=wdNewBlankDocument)
If NomDoc <> "" Then
Mydoc.SaveAs ThisWorkbook.Path & "" & NomDoc
'wordobj.activedocument.SaveAs ThisWorkbook.Path & "" & NomDoc
End If
wordobj.Visible = True
Set wordobj = Nothing
End Sub
------
Merci
YANN

"Daniel.C" a écrit :

Bonjour.
Ca peut se faire avec une macro Word, mais la logique voudrait que,
sauf impossibilité, tu inclues les instructions dans ta macro Excel.
Quand tu parles de "la bonne taille", tu veux dire que les cellules du
tableau doivent occuper toute la largeur de la page ou qu'elles doivent
s'ajuster au texte ?
Poste ton code, ça sera plus facile.
Cordialement.
Daniel

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























Sunburn
Le #17966291
daniel,
je t'envoi le fichier avec mon en tete actuelle
http://cjoint.com/?lAo0jtJ2D5

tu verras, j'ai mis des commentaires, pour peut etre faire des
copier-coller, si c'est plus simple.
Merci de ton aide précieuse.
YANN


"Daniel.C" a écrit :

Bon.
Les cellules fusionnées, c'est l'enfer !
D'abord, j'ai seulement pris les cellules de A1 à G1. De A1 à G7, ça va
en faire un sacré paquet à mettre dans un entête, non. Il faut les
mettre sur combien de lignes. Si tu as des cellules fusionnées,
envoie-moi (sur cjoint) une feuille avec les cellules telles qu'elles
sont. Je ne peux rien faire avant de l'avoir vu.
Daniel

> salut daniel,
> ben, ça plante à
> .TypeText Text:=Sheets("DCA").Cells(1, i).Value
> en me mettant sur i, i= 3
> je précise que la ligne 3 est fusionnée entre C et E, mais tout comme la
> ligne 2, 4 et 5.
> la ligne 1 est fusionnée de B à E.
> je ne sais pas si ça joue.
> YANN
>
>
> "Daniel.C" a écrit :
>
>> Regarde la macro ci-dessous.
>> Je ne suis pas persuadé que le dimensionnement ne change pas quand tu
>> changes l'orientatiion de la page. Le dimensionnement se code au niveau
>> du tableau, pas au niveau de la colonne.
>>
>> 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")
>> Set mydoc =
>> wordobj.documents.Add(documentType:=wdNewBlankDocument)
>> wordobj.ActiveWindow.ActivePane.View.SeekView =
>> wdSeekCurrentPageHeader
>> mydoc.Tables.Add Range:=wordobj.Selection.Range, NumRows:=1,
>> NumColumns:= _
>> 7, DefaultTableBehavior:=wdWord9TableBehavior,
>> AutoFitBehavior:= _
>> wdAutoFitWindow
>> With wordobj.Selection
>> For i = 1 To 7
>> .TypeText Text:=Sheets("DCA").Cells(1, i).Value
>> If i < 7 Then .MoveRight Unit:=wdCell
>> Next i
>> .MoveLeft Unit:=wdCell, Count:=6
>> .Tables(1).Columns(1).PreferredWidthType =
>> wdPreferredWidthPoints
>> .Tables(1).Columns(1).PreferredWidth =
>> CentimetersToPoints(1.85)
>> .Move Unit:=wdColumn, Count:=1
>> .SelectColumn
>> .Columns.PreferredWidthType = wdPreferredWidthPoints
>> .Columns.PreferredWidth = CentimetersToPoints(3.01)
>> .Move Unit:=wdColumn, Count:=1
>> .SelectColumn
>> .Move Unit:=wdColumn, Count:=1
>> .SelectColumn
>> .Move Unit:=wdColumn, Count:=1
>> .SelectColumn
>> .Move Unit:=wdColumn, Count:=1
>> .SelectColumn
>> .Columns.PreferredWidthType = wdPreferredWidthPoints
>> .Columns.PreferredWidth = CentimetersToPoints(2.55)
>> .Move Unit:=wdColumn, Count:=1
>> .SelectColumn
>> .Columns.PreferredWidthType = wdPreferredWidthPoints
>> .Columns.PreferredWidth = CentimetersToPoints(1.85)
>> End With
>> wordobj.ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
>> If NomDoc <> "" Then
>> mydoc.SaveAs ThisWorkbook.Path & "" & NomDoc
>> 'wordobj.activedocument.SaveAs ThisWorkbook.Path & "" &
>> NomDoc
>> End If
>> wordobj.Visible = True
>> Set wordobj = Nothing
>> End Sub
>>
>> Daniel
>>
>>> oui c'est bien ça Daniel.
>>> pour les autres cellules, il faut qu'elle puisse se mettre à la taille
>>> automatiquement si jamais l'utilisateur met en mode paysage au lieu de
>>> portait (c'est à dire qu'elle se séparent en 3 l'espace disponible).. enfin
>>> si c'est possible bien sûr.
>>> Merci.
>>> YANN
>>>
>>> "Daniel.C" a écrit :
>>>
>>>> Juste une précision.
>>>> Pour la largeur des cellules d'entête sous Word, si je fais un prorata
>>>> des largeurs des cellules d'Excel que tu m'a fournies, avec les marges
>>>> standard gauche et droite de 2,5 cm, j'obtiens
>>>> - 1.85 cm
>>>> - 3.01 cm
>>>> - 2.55 cm
>>>> - 1.85 cm
>>>> respectivement pour les cellules A, B, F et G.
>>>> les largeurs des autres cellules étant à 2,32 cm
>>>> Peux-tu valider ceci ?
>>>> Daniel
>>>>
>>>>> Daniel,
>>>>> je préfère que ça se fasse sous Excel, oui.
>>>>> pour la bonne taille, je veux que les cellules du tableau occupent toute
>>>>> la largeur de la page. Cependant, certains critères :
>>>>> ** les dimensions dans Word de certaines colonnes devront être fixe
>>>>> colone A = 8, colonne B = 13, colonne F = 11 et colonne G = 8
>>>>> ** les colonnes C, D et E, peut importe, en fait l'ajustement de la
>>>>> taille devra se faire sur ces 3 colonnes (la même taille peut être, pour
>>>>> plus de "beauté").
>>>>> ** De plus, j'ai une valeur en C3 de mon tableau, celle-ci sera effacée.
>>>>> ** Enfin, l'en-tête n'a pas à être verouillé.
>>>>> voici mon code actuel pour créer mon document Word :
>>>>> ---
>>>>> 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")
>>>>> Set Mydoc = wordobj.documents.Add(documentType:=wdNewBlankDocument)
>>>>> If NomDoc <> "" Then
>>>>> Mydoc.SaveAs ThisWorkbook.Path & "" & NomDoc
>>>>> 'wordobj.activedocument.SaveAs ThisWorkbook.Path & "" & NomDoc
>>>>> End If
>>>>> wordobj.Visible = True
>>>>> Set wordobj = Nothing
>>>>> End Sub
>>>>> ------
>>>>> Merci
>>>>> YANN
>>>>>
>>>>> "Daniel.C" a écrit :
>>>>>
>>>>>> Bonjour.
>>>>>> Ca peut se faire avec une macro Word, mais la logique voudrait que,
>>>>>> sauf impossibilité, tu inclues les instructions dans ta macro Excel.
>>>>>> Quand tu parles de "la bonne taille", tu veux dire que les cellules du
>>>>>> tableau doivent occuper toute la largeur de la page ou qu'elles doivent
>>>>>> s'ajuster au texte ?
>>>>>> Poste ton code, ça sera plus facile.
>>>>>> Cordialement.
>>>>>> Daniel
>>>>>>
>>>>>>> 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
>>>>>>
>>>>>>
>>>>>>
>>>>
>>>>
>>>>
>>
>>
>>





Daniel.C
Le #17966271
Décidément...
Lire :
Je ne peux rien faire avant de l'avoir vue.
Daniel
Bon.
Les cellules fusionnées, c'est l'enfer !
D'abord, j'ai seulement pris les cellules de A1 à G1. De A1 à G7, ça va en
faire un sacré paquet à mettre dans un entête, non. Il faut les mettre sur
combien de lignes. Si tu as des cellules fusionnées, envoie-moi (sur cjoint)
une feuille avec les cellules telles qu'elles sont. Je ne peux rien faire
avant de l'avoir vu.
Daniel

salut daniel,
ben, ça plante à .TypeText Text:=Sheets("DCA").Cells(1, i).Value
en me mettant sur i, i= 3
je précise que la ligne 3 est fusionnée entre C et E, mais tout comme la
ligne 2, 4 et 5.
la ligne 1 est fusionnée de B à E.
je ne sais pas si ça joue.
YANN


"Daniel.C" a écrit :

Regarde la macro ci-dessous.
Je ne suis pas persuadé que le dimensionnement ne change pas quand tu
changes l'orientatiion de la page. Le dimensionnement se code au niveau du
tableau, pas au niveau de la colonne.

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")
Set mydoc = wordobj.documents.Add(documentType:=wdNewBlankDocument)
wordobj.ActiveWindow.ActivePane.View.SeekView =
wdSeekCurrentPageHeader
mydoc.Tables.Add Range:=wordobj.Selection.Range, NumRows:=1,
NumColumns:= _
7, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
wdAutoFitWindow
With wordobj.Selection
For i = 1 To 7
.TypeText Text:=Sheets("DCA").Cells(1, i).Value
If i < 7 Then .MoveRight Unit:=wdCell
Next i
.MoveLeft Unit:=wdCell, Count:=6
.Tables(1).Columns(1).PreferredWidthType = wdPreferredWidthPoints
.Tables(1).Columns(1).PreferredWidth = CentimetersToPoints(1.85)
.Move Unit:=wdColumn, Count:=1
.SelectColumn
.Columns.PreferredWidthType = wdPreferredWidthPoints
.Columns.PreferredWidth = CentimetersToPoints(3.01)
.Move Unit:=wdColumn, Count:=1
.SelectColumn
.Move Unit:=wdColumn, Count:=1
.SelectColumn
.Move Unit:=wdColumn, Count:=1
.SelectColumn
.Move Unit:=wdColumn, Count:=1
.SelectColumn
.Columns.PreferredWidthType = wdPreferredWidthPoints
.Columns.PreferredWidth = CentimetersToPoints(2.55)
.Move Unit:=wdColumn, Count:=1
.SelectColumn
.Columns.PreferredWidthType = wdPreferredWidthPoints
.Columns.PreferredWidth = CentimetersToPoints(1.85)
End With
wordobj.ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
If NomDoc <> "" Then
mydoc.SaveAs ThisWorkbook.Path & "" & NomDoc
'wordobj.activedocument.SaveAs ThisWorkbook.Path & "" & NomDoc
End If
wordobj.Visible = True
Set wordobj = Nothing
End Sub

Daniel

oui c'est bien ça Daniel.
pour les autres cellules, il faut qu'elle puisse se mettre à la taille
automatiquement si jamais l'utilisateur met en mode paysage au lieu de
portait (c'est à dire qu'elle se séparent en 3 l'espace disponible)..
enfin si c'est possible bien sûr.
Merci.
YANN

"Daniel.C" a écrit :

Juste une précision.
Pour la largeur des cellules d'entête sous Word, si je fais un prorata
des largeurs des cellules d'Excel que tu m'a fournies, avec les marges
standard gauche et droite de 2,5 cm, j'obtiens
- 1.85 cm
- 3.01 cm
- 2.55 cm
- 1.85 cm
respectivement pour les cellules A, B, F et G.
les largeurs des autres cellules étant à 2,32 cm
Peux-tu valider ceci ?
Daniel

Daniel,
je préfère que ça se fasse sous Excel, oui.
pour la bonne taille, je veux que les cellules du tableau occupent
toute la largeur de la page. Cependant, certains critères : ** les
dimensions dans Word de certaines colonnes devront être fixe
colone A = 8, colonne B = 13, colonne F = 11 et colonne G = 8
** les colonnes C, D et E, peut importe, en fait l'ajustement de la
taille devra se faire sur ces 3 colonnes (la même taille peut être,
pour plus de "beauté").
** De plus, j'ai une valeur en C3 de mon tableau, celle-ci sera
effacée.
** Enfin, l'en-tête n'a pas à être verouillé.
voici mon code actuel pour créer mon document Word :
---
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")
Set Mydoc =
wordobj.documents.Add(documentType:=wdNewBlankDocument)
If NomDoc <> "" Then
Mydoc.SaveAs ThisWorkbook.Path & "" & NomDoc
'wordobj.activedocument.SaveAs ThisWorkbook.Path & "" &
NomDoc
End If
wordobj.Visible = True
Set wordobj = Nothing
End Sub
------
Merci
YANN

"Daniel.C" a écrit :

Bonjour.
Ca peut se faire avec une macro Word, mais la logique voudrait que,
sauf impossibilité, tu inclues les instructions dans ta macro Excel.
Quand tu parles de "la bonne taille", tu veux dire que les cellules du
tableau doivent occuper toute la largeur de la page ou qu'elles
doivent s'ajuster au texte ?
Poste ton code, ça sera plus facile.
Cordialement.
Daniel

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
























Daniel.C
Le #17966461
Je vais essayer, mais ne sois pas trop pressé. Je n'ai pas trop de
temps libre en ce moment. Sinon, Le plus simple serait de créer un
modèle Word que tu appelerais au lieu d'ouvrir le modèle standard. Il
n'y aurait plus qu'à remplir les cellules variables.
Penses-tu que ce soit possible ?
Daniel

daniel,
je t'envoi le fichier avec mon en tete actuelle
http://cjoint.com/?lAo0jtJ2D5

tu verras, j'ai mis des commentaires, pour peut etre faire des
copier-coller, si c'est plus simple.
Merci de ton aide précieuse.
YANN


"Daniel.C" a écrit :

Bon.
Les cellules fusionnées, c'est l'enfer !
D'abord, j'ai seulement pris les cellules de A1 à G1. De A1 à G7, ça va
en faire un sacré paquet à mettre dans un entête, non. Il faut les
mettre sur combien de lignes. Si tu as des cellules fusionnées,
envoie-moi (sur cjoint) une feuille avec les cellules telles qu'elles
sont. Je ne peux rien faire avant de l'avoir vu.
Daniel

salut daniel,
ben, ça plante à
.TypeText Text:=Sheets("DCA").Cells(1, i).Value
en me mettant sur i, i= 3
je précise que la ligne 3 est fusionnée entre C et E, mais tout comme la
ligne 2, 4 et 5.
la ligne 1 est fusionnée de B à E.
je ne sais pas si ça joue.
YANN


"Daniel.C" a écrit :

Regarde la macro ci-dessous.
Je ne suis pas persuadé que le dimensionnement ne change pas quand tu
changes l'orientatiion de la page. Le dimensionnement se code au niveau
du tableau, pas au niveau de la colonne.

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")
Set mydoc =
wordobj.documents.Add(documentType:=wdNewBlankDocument)
wordobj.ActiveWindow.ActivePane.View.SeekView =
wdSeekCurrentPageHeader
mydoc.Tables.Add Range:=wordobj.Selection.Range, NumRows:=1,
NumColumns:= _
7, DefaultTableBehavior:=wdWord9TableBehavior,
AutoFitBehavior:= _
wdAutoFitWindow
With wordobj.Selection
For i = 1 To 7
.TypeText Text:=Sheets("DCA").Cells(1, i).Value
If i < 7 Then .MoveRight Unit:=wdCell
Next i
.MoveLeft Unit:=wdCell, Count:=6
.Tables(1).Columns(1).PreferredWidthType =
wdPreferredWidthPoints
.Tables(1).Columns(1).PreferredWidth =
CentimetersToPoints(1.85)
.Move Unit:=wdColumn, Count:=1
.SelectColumn
.Columns.PreferredWidthType = wdPreferredWidthPoints
.Columns.PreferredWidth = CentimetersToPoints(3.01)
.Move Unit:=wdColumn, Count:=1
.SelectColumn
.Move Unit:=wdColumn, Count:=1
.SelectColumn
.Move Unit:=wdColumn, Count:=1
.SelectColumn
.Move Unit:=wdColumn, Count:=1
.SelectColumn
.Columns.PreferredWidthType = wdPreferredWidthPoints
.Columns.PreferredWidth = CentimetersToPoints(2.55)
.Move Unit:=wdColumn, Count:=1
.SelectColumn
.Columns.PreferredWidthType = wdPreferredWidthPoints
.Columns.PreferredWidth = CentimetersToPoints(1.85)
End With
wordobj.ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
If NomDoc <> "" Then
mydoc.SaveAs ThisWorkbook.Path & "" & NomDoc
'wordobj.activedocument.SaveAs ThisWorkbook.Path & "" &
NomDoc
End If
wordobj.Visible = True
Set wordobj = Nothing
End Sub

Daniel

oui c'est bien ça Daniel.
pour les autres cellules, il faut qu'elle puisse se mettre à la taille
automatiquement si jamais l'utilisateur met en mode paysage au lieu de
portait (c'est à dire qu'elle se séparent en 3 l'espace disponible)..
enfin si c'est possible bien sûr.
Merci.
YANN

"Daniel.C" a écrit :

Juste une précision.
Pour la largeur des cellules d'entête sous Word, si je fais un prorata
des largeurs des cellules d'Excel que tu m'a fournies, avec les marges
standard gauche et droite de 2,5 cm, j'obtiens
- 1.85 cm
- 3.01 cm
- 2.55 cm
- 1.85 cm
respectivement pour les cellules A, B, F et G.
les largeurs des autres cellules étant à 2,32 cm
Peux-tu valider ceci ?
Daniel

Daniel,
je préfère que ça se fasse sous Excel, oui.
pour la bonne taille, je veux que les cellules du tableau occupent
toute la largeur de la page. Cependant, certains critères :
** les dimensions dans Word de certaines colonnes devront être fixe
colone A = 8, colonne B = 13, colonne F = 11 et colonne G = 8
** les colonnes C, D et E, peut importe, en fait l'ajustement de la
taille devra se faire sur ces 3 colonnes (la même taille peut être,
pour plus de "beauté").
** De plus, j'ai une valeur en C3 de mon tableau, celle-ci sera
effacée. ** Enfin, l'en-tête n'a pas à être verouillé.
voici mon code actuel pour créer mon document Word :
---
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")
Set Mydoc =
wordobj.documents.Add(documentType:=wdNewBlankDocument) If NomDoc
<> "" Then Mydoc.SaveAs ThisWorkbook.Path & "" & NomDoc
'wordobj.activedocument.SaveAs ThisWorkbook.Path & "" &
NomDoc End If
wordobj.Visible = True
Set wordobj = Nothing
End Sub
------
Merci
YANN

"Daniel.C" a écrit :

Bonjour.
Ca peut se faire avec une macro Word, mais la logique voudrait que,
sauf impossibilité, tu inclues les instructions dans ta macro Excel.
Quand tu parles de "la bonne taille", tu veux dire que les cellules du
tableau doivent occuper toute la largeur de la page ou qu'elles
doivent s'ajuster au texte ?
Poste ton code, ça sera plus facile.
Cordialement.
Daniel

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






























Publicité
Poster une réponse
Anonyme