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

Ajuster un tableau Excel à la largeur de la page dasn Word

2 réponses
Avatar
jamesTcarville
Hol=E0 a todos los Excel users !!

Voil=E0 mon petit probl=E8me (fa=E7on de parler, parce que pour moi c'est
un probl=E8me =E9norme, mais pour vous, c'est sans doute rien. Bon bref.)
:

Sous excel, je cr=E9=E9 via une macro plusieurs tableaux sur plusieurs
feuilles (1 tableau par feuille), que je s=E9lectionne et que je colle
dans Word. Le probl=E8me c'est que le nombre de colonnes est variable.
Donc au moment du collage, =E7a d=E9borde de la feuille word.

Il faudrait que j'arrive =E0 trouver le moyen de faire les actions
suivantes depuis excel :
1) calculer le nombre de colonne
2) trouver la largeur de chaque colonne (en divisant la largeur d'une
page word par le nombre de colonne)
3) donner =E0 chaque colonne cette largeur sp=E9cifique.

Pour complexifier les choses, je dois dire que la colonne A a toujours
la m=EAme largeur puisqu'elle contient les intitul=E9s des lignes.

Toutes les aides sont les bienvenues. Le vainqueur aura trouver un ami
pour la vie.=20

Merci beaucoup par avance.=20

A+

2 réponses

Avatar
ClémentMarcotte
Bonjour,

Voilà mon petit problème (façon de parler, parce que pour moi c'est
un problème énorme, mais pour vous, c'est sans doute rien. Bon bref.)


Pas, pas sur.

Sous excel, je créé via une macro plusieurs tableaux sur plusieurs
feuilles (1 tableau par feuille), que je sélectionne et que je colle
dans Word. Le problème c'est que le nombre de colonnes est variable.
Donc au moment du collage, ça déborde de la feuille word.


Normal, un objet incorporé dans Word, est limité à une page.

Il faudrait que j'arrive à trouver le moyen de faire les actions
suivantes depuis excel :
1) calculer le nombre de colonne


En supposant que ton tableau commence en colonne 1, et que ta ligne 1 soit
la plus longue, tu peux obtenir le nombre de colonnes avec le numéro de la
dernière colonne rempli.

dernierecolonne = range("iv1").end(xltoleft).row

2) trouver la largeur de chaque colonne (en divisant la largeur d'une
page word par le nombre de colonne)


À première vue c'est moins évident. De mémoire la largeur de la page Word,
dépend de la largeur des marges du document, et je ne me souviens pas qu'il
y ait quelque chose dans les objets de Word qui permette de la retrouver
facilement. De plus, je ne pense pas qu'il ait de "correspondance directe"
entre Word et Excel à ce niveau. Pour peu que je me souvienne, les largeurs
des colonnes d'un tableau Word se travaillent en pouces ou en centimètres,
alors que ce ne n'est pas vraiment le cas pour Excel.

Tu peux toujours poser ta question sur microsoft.public.fr.word
Anacoluthe. grand macroteur devant l'Éternel, et pas vraiment membre des
AMIS, aura peut-être une idée.


Toutes les aides sont les bienvenues. Le vainqueur aura trouver un ami
pour la vie.


Si tu n'as rien de nouveau avant mercredi ou jeudi prochain, je jetterai un
coup d'oeil. D'ici là, je vais me retrouver soit loin d'un ordinateur, soit
trop occupé.

Avatar
michelxld
bonjour

j'espere que cette macro pouura t'aider :
le tableau est collé dans le document Word et s'adapte à la largeur de la page


Sub EnvoyerTableauxExcelVersWord_V02()
'necessite d'activer la reference Microsoft Word xx.x Object Library
Dim DocWord As Word.Document
Dim AppWord As Word.Application

Set AppWord = New Word.Application
AppWord.Visible = True
Set DocWord = AppWord.Documents.Add

Range("A1:H10").Copy

AppWord.Selection.Paste
DocWord.Tables(1).AutoFitBehavior wdAutoFitWindow

Application.CutCopyMode = False
End Sub


bon week end
michel


"ClémentMarcotte" wrote:

Bonjour,

Voilà mon petit problème (façon de parler, parce que pour moi c'est
un problème énorme, mais pour vous, c'est sans doute rien. Bon bref.)


Pas, pas sur.

Sous excel, je créé via une macro plusieurs tableaux sur plusieurs
feuilles (1 tableau par feuille), que je sélectionne et que je colle
dans Word. Le problème c'est que le nombre de colonnes est variable.
Donc au moment du collage, ça déborde de la feuille word.


Normal, un objet incorporé dans Word, est limité à une page.

Il faudrait que j'arrive à trouver le moyen de faire les actions
suivantes depuis excel :
1) calculer le nombre de colonne


En supposant que ton tableau commence en colonne 1, et que ta ligne 1 soit
la plus longue, tu peux obtenir le nombre de colonnes avec le numéro de la
dernière colonne rempli.

dernierecolonne = range("iv1").end(xltoleft).row

2) trouver la largeur de chaque colonne (en divisant la largeur d'une
page word par le nombre de colonne)


À première vue c'est moins évident. De mémoire la largeur de la page Word,
dépend de la largeur des marges du document, et je ne me souviens pas qu'il
y ait quelque chose dans les objets de Word qui permette de la retrouver
facilement. De plus, je ne pense pas qu'il ait de "correspondance directe"
entre Word et Excel à ce niveau. Pour peu que je me souvienne, les largeurs
des colonnes d'un tableau Word se travaillent en pouces ou en centimètres,
alors que ce ne n'est pas vraiment le cas pour Excel.

Tu peux toujours poser ta question sur microsoft.public.fr.word
Anacoluthe. grand macroteur devant l'Éternel, et pas vraiment membre des
AMIS, aura peut-être une idée.


Toutes les aides sont les bienvenues. Le vainqueur aura trouver un ami
pour la vie.


Si tu n'as rien de nouveau avant mercredi ou jeudi prochain, je jetterai un
coup d'oeil. D'ici là, je vais me retrouver soit loin d'un ordinateur, soit
trop occupé.