|
Publicité ' | ||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : septembre 2008 Messages : 1 ![]() |
Bonjour,
Je cherche à faire une macro qui me permette de redimensionner des images importées grâce à un autre logiciel. En effet je souhaite que celles ci se dimensionnent automatiquement à l'espace restant sur ma page afin de ne pas voir l'image se retrouver seule sur une page. J'arrive à redimensionner l'image mais je n'arrive pas à obtenir l'espace restant sur ma page après mon texte pour avoir la taille à laquelle mettre l'image. Quelqu'un aurait-il une solution? Merci par avance |
|
|
00
|
|
|
#2 | ||
![]() ![]() JF JousseaumeInscription : octobre 2007 Messages : 2 390 ![]() |
Salut,
Word dispose d'une fonction fourre-tout depuis WordBasic (la SelInfo qui te donne des infos sur la sélection en cours et qui est devenu Selection.Information) ==> . Dans ton cas (comme tu ne nous a pas dit ce que tu avais comme version, j'ai supposé un Word2003), tu as Code :
Voila après, tu utilises des informations de marge de ta section, ta reliure (avec les cas des pages droites et gauches), ton format de papier, une grosse soustraction plus tard, tu as tes info en cm. Poste si tu n'as pas assez d'explication et que tu veuilles comprendre (mais attention, c'est compliqué). @+ |
||
|
|
00
|
|
|
#3 |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Hello Sepia,
Tu mets "Les mesures sont exprimés en twips (= 1/20 point Word et 72 points Word = 1 pouce = 2,54 cm environ)" Une question pour ma gouverne : Le nombre de twips ne dépend-il pas de la définition de l'écran ? Juste pour compliquer un peu Mais ma question demeure |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 364 ![]() |
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#5 | |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Merci Heureux-Oli, C'est bien ce qu'il me semblait
Citation:
|
|
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 364 ![]() |
Le problème avec les pages en Word, c'est que ce sont des "objets" non reconnus, on ne peut pas la saisir simplement, il faut utiliser des tas de choses pour y arriver.
En plus, si on veut manipuler une partie du contenu pour n'importe quelle raison, on entre dans le débuts des problèmes. Sachant que les pages sont variables en fonction de l'imprimante, du papier, de la disposition du papier, des marges du document et cette liste n'est pas exhaustive. Ce sera toujours de l' "A peu près" Ce que l'on peut faire dans le cas de nekou, c'est compter le nombre de lignes de texte déjà présent et on devrait alors connaître le nombre de lignes "vides" et en utilisant le nombre de points utilisés par une ligne, connaître approximativement l'espace restant. Mais c'est pas si simple et il faut que les lignes utilisées soient toutes du même style, sans quoi il faut faire le compte par style et ... Pour écrire ce genre de macro, il faut vraiment que ça vale la peine.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#7 | ||
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Un bricolage pourrait peut-être te donner une réponse mais je ne garantis rien. Consisterait à décompter physiquement le nombre lignes d'une page entièrement renseignée, ceci avec moveDown, et en testant le N° de la page, puis à compter le nombre de lignes renseignées sur ta page incomplète. Il te reste à faire une soustraction.
Pour la page entièrement renseignée : Tant que N° de page ne change pas Compter les lignes Fin boucle et tu fais pareil pour ta feuille incomplète tant que MoveDown ne donne pas la même ligne (mémorisé dans Mem dans l'exemple suivant) Code :
A défaut de mieux Bon après-midi Edit Comme le dit Heureux-Oli, c'est de "l'à peu près" car ne tient pas compte des lignes de titre, des espacements donnés aux différents paragraphes, etc. Après, il reste également à multiplier par le nombre de points par ligne... comme le dit aussi Heureux-Oli (!) |
||
|
|
00
|
|
|
#8 | ||
![]() ![]() JF JousseaumeInscription : octobre 2007 Messages : 2 390 ![]() |
Salut,
Oui c'est vrai Ouskel'n'or mais comme un twip est une unité de mesure directement linéaire au nb de cm, que l'on a rien à faire dans ce cas des pixels, et que tu peux exprimer dans Word des dimensions d'image en cm donc la résolution de l'écran n'a pas besoin d'être connue, en revanche la résolution de l'image change des choses. En effet, 1 cm <==> 28,2 twips donc si tu connais ta page en cm (disons du A4 soit 21 x 29,7 cm), ton orientation (disons à la française = portrait pour Word), tes marges (disons 2,5 cm de chaque côté), si tu as une position verticale de 222 twips, et que ta police soit de 12 points et que ton paragraphe est un espace avant de 6 points (standard) alors on obtient Code :
de ton image) et de calculer la largeur non pas par rapport à l'espace restant mais proportionnellement aux dimensions de ton image. Tiens-nous au courant @+ |
||
|
|
00
|
|
|
#9 | |||||
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Merci pour ton explication, Sepia. Elle mériterait d'être placée quelque part dans la FAQ (Word de préférence afin qu'on la retrouve...)
Par contre, Citation:
Comme je ne vois pas de solution simple à proposer, m'est venu une autre idée ![]() Consiste à - mémoriser le numéro de page de la fin du texte, - placer l'image après ce texte et, dans une boucle, - modifier la taille de l'image jusqu'à ce qu'elle entre dans la même page. Une taille max et une taille min évitant d'obtenir une icône ![]() Code :
Code :
[2] Passer par l'objet Image ralentit la procédure et occupe de la place mémoire mais simplifie l'écriture (cette remarque n'étant valable que pour un grand nombre d'images) NB - Je n'ai pas limité la taille de l'image ni à un min ni à un max mais je ne pense pas que l'adapter présente de difficulté... |
|||||
|
|
00
|
|
|
#10 |
![]() ![]() JF JousseaumeInscription : octobre 2007 Messages : 2 390 ![]() |
Salut Ouskel'nor,
le pb c'est que je ne sais pas comment faire pour mettre une info sur la FAQ et puis il faut l'épurer pour n'avoir que son contexte (comme d'habitude je vais essayer de voir ça avec Heureux-Oli). Ok pour ton algo qui est simple a le mérite de pouvoir être étendu sous forme progressive avec plusieurs passages. Le 1er détermine grossièrement la taille et puis on affine de plus en plus jusqu'à la granularié voulue ou jusqu'au twip (qui est l'unité la plus petite de Word). @+ |
|
|
00
|
|
|
#11 |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Cépanous qu'on met dans la FAQ... Tu places ton message dans Contribuez. Quand le grand responsable passe par là, il juge de l'opportunité de le placer dans la FAQ. Et là, je pense qu'il n'y aura pas de problème.
Bonne soirée A+ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com