Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/08/2006, 12h21   #1
Invité de passage
 
Inscription : août 2006
Messages : 9
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 9
Points : 0
Points : 0
Par défaut Insertion d'une image dans Word avec une taille correcte

Bonjour,

Je suis en train d'essayer de faire un macro qui insert une image dans une page de MS Word avec une taille ajuster a la page. Mon problème est que lorsque que j'insert mon image et que sur la page il y a des entête et pieds de page, l'image ne s'ajuste pas bien a l'espace restant (vous pouvez essayer dans word directement), j'aimerais donc calculer la taille d'espace restant avec les entete et pied de page pour pouvoir donner cette taille a mon image. Mais je ne trouve aucun moyen de calculer la taille d'une entete ou pied de page :'(

Pouvez vous m'aider?

merci d'avance,

Syphius
Syphius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2006, 17h49   #2
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Juste pour l'idée
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Sub DimensionsPage()
    With ActiveDocument.PageSetup
        'Selon l'image (portrait ou paysage), ce sera l'un ou l'autre
        'HauteurDispo = .PageHeight - .TopMargin - .BottomMargin - .HeaderDistance - .FooterDistance
        LargeurDispo = .PageWidth - .LeftMargin - .RightMargin
    End With
    With Selection
        .InlineShapes.AddPicture FileName:= _
        "D:\2005 - Grenoble\Télécabine de la Bastille.jpg" _
        , LinkToFile:=False, SaveWithDocument:=True
    End With
    Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
    With Selection
        LargeurImage = Selection.InlineShapes(1).Width
        hauteur = .InlineShapes(1).Height * LargeurImage / LargeurDispo
        largeur = .InlineShapes(1).Width * LargeurImage / LargeurDispo
        .InlineShapes(1).Height = hauteur
        .InlineShapes(1).Width = largeur
    End With
End Sub
Testé sur une seule image format paysage, donc à adapter
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2006, 17h59   #3
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Un truc plus simple :

Code :
1
2
3
4
5
    With Selection
        .InlineShapes.AddPicture FileName:= _
        "D:\2005 - Grenoble\Télécabine de la Bastille.jpg" _
        , LinkToFile:=False, SaveWithDocument:=True
    End With


LinkToFile = false permet de ne pas dissocier l'image du texte. L'image, considérée comme un caractère, se positionne automatiquement sous l'entête éventuelle.
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2006, 18h43   #4
Invité de passage
 
Inscription : août 2006
Messages : 9
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 9
Points : 0
Points : 0
Salut et merci de ta réponse!

J'ai tester ton code et il marche quand il y a seulement un entete, mais pas kan il y a égualement un pied de page (je travail uniquement en mode paysage).

j'avoue que je ne vois toujours pas la solution :'(.
Syphius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2006, 18h46   #5
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 854
Points : 16 854
Envoyer un message via Skype™ à bbil
de quel code parle tu ... il y en as 2..?
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2006, 18h51   #6
Invité de passage
 
Inscription : août 2006
Messages : 9
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 9
Points : 0
Points : 0
les 2
Syphius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2006, 10h19   #7
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Hello,
Pour le pied de page je n'ai pas de solution simple.
Tes pieds de pages ont-il toujours la même hauteur ?
Ne peux-tu faire en sorte qu'ils aient toujours la même hauteur ?
Sinon, je n'aurais d'autre solution à te proposer que celle consistant à calculer la hauteur et d'en tenir compte dans tes calculs. Ex. : une ligne en caractère Time New Roman de taille 12 fait environ 1/2 cm
Désolé, je n'ai pas mieux pour le "Footer"
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2006, 13h18   #8
Invité de passage
 
Inscription : août 2006
Messages : 9
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 9
Points : 0
Points : 0
Ok! merci,

Je pense que je vais utiliser une hauteur max pour mes images, que l'utilisateur definira, je ne vois pas d'autre moyen. De plus la hauteur des footer ne change pas souvent donc je pense que ça ira...
Syphius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2006, 14h22   #9
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
J'ignore ce que tu as prévu au niveau de l'insersion mais comme je te l'ai dit, l'option "LinkToFile:=False" est pratique car tu peux centrer l'image comme du texte. En outre, l'image est automatiquement dimensionnée en largeur. Auquel cas, si la hauteur ne dépasse pas le plafond, tu n'as pas à la régler.
Bonne suite
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h09.


 
 
 
 
Partenaires

Hébergement Web