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

dimensionner la fenetre excel dans word

29 réponses
Avatar
Manu91
Bonjour,

Je souhaite pouvoir incorporer, par code, un fichier excel dans un document
Word (word pour la qualité de la mise en page, et excel pour les capacités de
calcul).
L'insertion se passe tres bien avec l'objet ole, mais... je suis incapable
de dimensionner la fenêtre excel pour cacher certaines formules,
Effectivement, la propriété Height s'applique sur l'objet image et applique
une espèce de fonction zoom à cet objet, alors que je souhaite pouvoir
demander l'affichage des cellules ("A1","F9") par exemple...

Je ne sais pas si je me suis bien fait comprendre, n'hésitez pas à me
demander des détails...

Manuel

10 réponses

1 2 3
Avatar
Circé
Bonjour Manu91

Manu91 a exposé le 04/09/2007 :
Bonjour,

Je souhaite pouvoir incorporer, par code, un fichier excel dans un document
Word (word pour la qualité de la mise en page, et excel pour les capacités de
calcul).


Bonne idée ! ;)

L'insertion se passe tres bien avec l'objet ole, mais... je suis incapable
de dimensionner la fenêtre excel pour cacher certaines formules,
Effectivement, la propriété Height s'applique sur l'objet image et applique
une espèce de fonction zoom à cet objet, alors que je souhaite pouvoir
demander l'affichage des cellules ("A1","F9") par exemple...


Pour n'afficher qu'une partie de ta feuille Excel, il faut que ta
fenêtre Excel dans Word soit active.
Donc, tu double cliques dans ton tableau Excel, et ensuite tu peux
utiliser les poignées pour agrandir ou rétrécir la portion de feuille.

Une autre solution est de créer directement ton tableau dans Excel, de
copier la ou les cellules qui t'intéressent, et de faire un collage
spécial (feuille MS Excel) dans Word.

J'attire quand même ton attention sur la chose suivante : incorporer
une feuille Excel dans un document Word revient à incorporer TOUT le
classeur, même si seulement une petite partie est visible. Donc, s'il
s'agit d'envoyer le fichier à des correspondants, pense bien à cela.
Le correspondant pourra facilement accéder à tout le classeur.

Circé
http://faqword.free.fr


Je ne sais pas si je me suis bien fait comprendre, n'hésitez pas à me
demander des détails...

Manuel


Avatar
Manu91
Effectivement, ce que tu m'écris est juste.. et manuellement c tres facile à
faire, sauf que comme le devis est automatisé, c une ligne de commande qui
doit pouvoir prendre les poignées pour redimentionner... et ça c... gratiné !!
PS: mon automatisation me transforme ensuite le document en PDF afin que je
puisse envoyer un fichier propre et protégé à mes clients sans traces de
calcul, par contre je conserve ces traces dans mon doc original, aujourd'hui
je fais l'ensemble de cette manip à la main...


Bonjour Manu91

Manu91 a exposé le 04/09/2007 :
Bonjour,

Je souhaite pouvoir incorporer, par code, un fichier excel dans un document
Word (word pour la qualité de la mise en page, et excel pour les capacités de
calcul).


Bonne idée ! ;)

L'insertion se passe tres bien avec l'objet ole, mais... je suis incapable
de dimensionner la fenêtre excel pour cacher certaines formules,
Effectivement, la propriété Height s'applique sur l'objet image et applique
une espèce de fonction zoom à cet objet, alors que je souhaite pouvoir
demander l'affichage des cellules ("A1","F9") par exemple...


Pour n'afficher qu'une partie de ta feuille Excel, il faut que ta
fenêtre Excel dans Word soit active.
Donc, tu double cliques dans ton tableau Excel, et ensuite tu peux
utiliser les poignées pour agrandir ou rétrécir la portion de feuille.

Une autre solution est de créer directement ton tableau dans Excel, de
copier la ou les cellules qui t'intéressent, et de faire un collage
spécial (feuille MS Excel) dans Word.

J'attire quand même ton attention sur la chose suivante : incorporer
une feuille Excel dans un document Word revient à incorporer TOUT le
classeur, même si seulement une petite partie est visible. Donc, s'il
s'agit d'envoyer le fichier à des correspondants, pense bien à cela.
Le correspondant pourra facilement accéder à tout le classeur.

Circé
http://faqword.free.fr


Je ne sais pas si je me suis bien fait comprendre, n'hésitez pas à me
demander des détails...

Manuel







Avatar
Circé
Re...

Manu91 a présenté l'énoncé suivant :
Effectivement, ce que tu m'écris est juste.. et manuellement c tres facile à
faire, sauf que comme le devis est automatisé, c une ligne de commande qui
doit pouvoir prendre les poignées pour redimentionner... et ça c... gratiné



Ah... je n'ai pas réalisé que tu cherchais une macro.
Mais est-ce toujours les mêmes cellules que tu insères dans Word ?
Parce que, à mon avis, ce n'est plus une question de
"redimensionnement" mais de savoir ce qu'on insère...

Circé


Bonjour Manu91

Manu91 a exposé le 04/09/2007 :
Bonjour,

Je souhaite pouvoir incorporer, par code, un fichier excel dans un document
Word (word pour la qualité de la mise en page, et excel pour les capacités
de calcul).


Bonne idée ! ;)

L'insertion se passe tres bien avec l'objet ole, mais... je suis incapable
de dimensionner la fenêtre excel pour cacher certaines formules,
Effectivement, la propriété Height s'applique sur l'objet image et applique
une espèce de fonction zoom à cet objet, alors que je souhaite pouvoir
demander l'affichage des cellules ("A1","F9") par exemple...


Pour n'afficher qu'une partie de ta feuille Excel, il faut que ta
fenêtre Excel dans Word soit active.
Donc, tu double cliques dans ton tableau Excel, et ensuite tu peux
utiliser les poignées pour agrandir ou rétrécir la portion de feuille.

Une autre solution est de créer directement ton tableau dans Excel, de
copier la ou les cellules qui t'intéressent, et de faire un collage
spécial (feuille MS Excel) dans Word.

J'attire quand même ton attention sur la chose suivante : incorporer
une feuille Excel dans un document Word revient à incorporer TOUT le
classeur, même si seulement une petite partie est visible. Donc, s'il
s'agit d'envoyer le fichier à des correspondants, pense bien à cela.
Le correspondant pourra facilement accéder à tout le classeur.

Circé
http://faqword.free.fr


Je ne sais pas si je me suis bien fait comprendre, n'hésitez pas à me
demander des détails...

Manuel









Avatar
Manu91
non, ce ne sont pas toujours les memes cellules, leur nombre varie en
fonction du nombre de produits, pour tout te dire, et être plus complet, je
programme en VB2005, je crèe grace à une base de données un fichier excel, et
ensuite ce dernier je l'incorpore dans word, c aujourd'hui ce que je fais à
la main.
j'ai voulu être simple dans ma demande, car si je parviens à trouver la
solution pour bouger la poignée de ma fenêtre excel grâce à une macro word,
je n'aurais aucune difficultée à la transposer en VB2005.
Dans mon programme, lorsque je colle le fichier excel dans word sur un
signet préétabli, il dimensionne la fenêtre automatiquement en fonction de
l'ensemble des cases remplies (y compris les cellules de calcul perso (tx de
remise etc...)
et je ne parviens pas à reprendre la main sur cette fenêtre... j'écume les
forums VB depuis 1 semaine sans résultat, j'ai meme cherché du coté des API,
mais la c chaud parce que la fenêtre excel n'a pas de nom, donc difficile de
trouver son handle (en tous cas pas a la portée de mes connaissances info...
:-))
en bref... je galère !!




Re...

Manu91 a présenté l'énoncé suivant :
Effectivement, ce que tu m'écris est juste.. et manuellement c tres facile à
faire, sauf que comme le devis est automatisé, c une ligne de commande qui
doit pouvoir prendre les poignées pour redimentionner... et ça c... gratiné



Ah... je n'ai pas réalisé que tu cherchais une macro.
Mais est-ce toujours les mêmes cellules que tu insères dans Word ?
Parce que, à mon avis, ce n'est plus une question de
"redimensionnement" mais de savoir ce qu'on insère...

Circé


Bonjour Manu91

Manu91 a exposé le 04/09/2007 :
Bonjour,

Je souhaite pouvoir incorporer, par code, un fichier excel dans un document
Word (word pour la qualité de la mise en page, et excel pour les capacités
de calcul).


Bonne idée ! ;)

L'insertion se passe tres bien avec l'objet ole, mais... je suis incapable
de dimensionner la fenêtre excel pour cacher certaines formules,
Effectivement, la propriété Height s'applique sur l'objet image et applique
une espèce de fonction zoom à cet objet, alors que je souhaite pouvoir
demander l'affichage des cellules ("A1","F9") par exemple...


Pour n'afficher qu'une partie de ta feuille Excel, il faut que ta
fenêtre Excel dans Word soit active.
Donc, tu double cliques dans ton tableau Excel, et ensuite tu peux
utiliser les poignées pour agrandir ou rétrécir la portion de feuille.

Une autre solution est de créer directement ton tableau dans Excel, de
copier la ou les cellules qui t'intéressent, et de faire un collage
spécial (feuille MS Excel) dans Word.

J'attire quand même ton attention sur la chose suivante : incorporer
une feuille Excel dans un document Word revient à incorporer TOUT le
classeur, même si seulement une petite partie est visible. Donc, s'il
s'agit d'envoyer le fichier à des correspondants, pense bien à cela.
Le correspondant pourra facilement accéder à tout le classeur.

Circé
http://faqword.free.fr


Je ne sais pas si je me suis bien fait comprendre, n'hésitez pas à me
demander des détails...

Manuel














Avatar
Geo

non, ce ne sont pas toujours les memes cellules, leur nombre varie en
fonction du nombre de produits,


Pas certain d'avoir tout suivi, mais si vous définissez dynamiquement
une Range Excel et que vous importiez cette Range uniquement dans votre
fichier Word ?

--
A+

Avatar
Manu91
merci pour votre réponse, mais le probleme n'est pas de copier une ou
plusieurs cellules... ça c simple, tiens pour info, je vous met dans la
foulée la ligne de commande, on sait jamais ça peut servir, attention, c une
ligne de commande VB 2005.
En fait le problème est pour redimentionner le tableau excel, chose tres
aisée manuellement (voir aide de Circé), mais tres difficile par logiciel.

lignes de commande :

Dim oWord As Object
Dim oDoc As Object
oWord = CreateObject("Word.Application")
oDoc = oWord.documents.open("C:Base devis.doc")

Dim oInlineShape As Word.InlineShape
oInlineShape =
CType(oDoc.Bookmarks("GR").range.InlineShapes.AddOLEObject(ClassType:="Excel.Sheet.8", FileName:="C:essai.xls", _
LinkToFile:úlse, DisplayAsIcon:úlse), Word.InlineShape)

oInlineShape.ScaleHeight = 70%
oInlineShape.ScaleWidth = 70%
(ces 2 dernieres lignes diminuent l'objet mais ne font aucune action sur le
nombre de cellules affichées)






non, ce ne sont pas toujours les memes cellules, leur nombre varie en
fonction du nombre de produits,


Pas certain d'avoir tout suivi, mais si vous définissez dynamiquement
une Range Excel et que vous importiez cette Range uniquement dans votre
fichier Word ?

--
A+






Avatar
Geo

merci pour votre réponse, mais le probleme n'est pas de copier une ou
plusieurs cellules... ça c simple, tiens pour info, je vous met dans la
foulée la ligne de commande, on sait jamais ça peut servir, attention, c une
ligne de commande VB 2005.
En fait le problème est pour redimentionner le tableau excel, chose tres
aisée manuellement (voir aide de Circé), mais tres difficile par logiciel.


Vu !
Enfin je crois :-]
Ce sont les poignées, j'avais vu ça en PowerPoint pour modifier les
dessins, il faut que je recherche.
Pi c'est pas triste autant que je me souvienne.


--
A+

Avatar
Manu91
une bise de ma femme (c pour donner du courage)... au premier qui trouve !!!
;-)




merci pour votre réponse, mais le probleme n'est pas de copier une ou
plusieurs cellules... ça c simple, tiens pour info, je vous met dans la
foulée la ligne de commande, on sait jamais ça peut servir, attention, c une
ligne de commande VB 2005.
En fait le problème est pour redimentionner le tableau excel, chose tres
aisée manuellement (voir aide de Circé), mais tres difficile par logiciel.


Vu !
Enfin je crois :-]
Ce sont les poignées, j'avais vu ça en PowerPoint pour modifier les
dessins, il faut que je recherche.
Pi c'est pas triste autant que je me souvienne.


--
A+






Avatar
Geo

une bise de ma femme (c pour donner du courage)... au premier qui trouve !!!


Elle a peur de dormir seule toute la nuit :-D

J'ai une piste, mais elle finit en cul de sac.
Si la fenêtre est une inLineShape, la transformer en Shape.
Une forme Shape a des poignées (adjustments)
que l'on peut théoriquement déplacer
copie de l'aide :
myDocument.Shapes(3).Adjustments(1) = 0.25
Mais j'ai une injureBox : permission refusée.
ça marche même pas sur un rectangle.

--
A+

Avatar
Manu91
tu crois pas si bien dire geo.. oui, elle a deja dormi seule la nuit
dernière, et la... elle commence à faire la gueule... 8-))

Menfin.. le shape, j'avais deja essayer... et pas trouver... lol

La j'essaye de me tourner vers les API... mais pour trouver l'handle de la
fenetre excel, c assez simpa aussi

GetForegroundWindow() devrait me donner le handle de la fenetre ouverte,
mais meme en ouvrant la fenetre excel (double click), en réalisant une ligne
vba pour me donner le handle de la fenetre excel, ben il me donne celui de
word.... :-(

la nuit porte conseil..... merci en tous les cas !!!






une bise de ma femme (c pour donner du courage)... au premier qui trouve !!!


Elle a peur de dormir seule toute la nuit :-D

J'ai une piste, mais elle finit en cul de sac.
Si la fenêtre est une inLineShape, la transformer en Shape.
Une forme Shape a des poignées (adjustments)
que l'on peut théoriquement déplacer
copie de l'aide :
myDocument.Shapes(3).Adjustments(1) = 0.25
Mais j'ai une injureBox : permission refusée.
ça marche même pas sur un rectangle.

--
A+






1 2 3