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 25/10/2011, 12h34   #1
Invité de passage
 
Homme
Inscription : octobre 2011
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : octobre 2011
Messages : 2
Points : 0
Points : 0
Par défaut Code pour insérer une image et changer ses dimensions

Bonjour,

J'aimerai créer une macro qui permettrait d'insérer des images dans une page et que ces images soient redimensionnées. Pour le disposition des images je pense utiliser un tableau et les images viendraient dans les cases prévues. C'est pour le changement de dimensions des images que j'ai des problèmes. J'aimerai que les images fasses 8cm de large et 6cm de hauteur.
Voici mon code de macro pour insérer une image :
Code :
1
2
3
4
5
6
7
8
Sub Macro()
'
' Macro Macro
'
    Selection.InlineShapes.AddPicture FileName:= _
        "C:\Documents and Settings\***\*****\****\photo.jpg", LinkToFile:=False, _
         SaveWithDocument:=True
End Sub
Merci beaucoup pour votre aide.
Ragain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2011, 16h11   #2
Invité de passage
 
Homme
Inscription : octobre 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : octobre 2011
Messages : 12
Points : 3
Points : 3
Bonjour,

Je suis loin d'être un pro du vba, mais essaie cela :

Code :
1
2
3
4
With Selection.InlineShapes(1)
            .Width = MillimetersToPoints(80)
            .Height = MillimetersToPoints(60)
End With
le "1" correspondant numéro de l'image, si tu veux redimensionner la quatrième tu mets 4.

Voili, voilou

Happy_Diver
Si vis pacem, para bellum
happy_diver est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/10/2011, 02h05   #3
Rédacteur/Modérateur
 
Avatar de Sepia
 
Homme JF Jousseaume
Inscription : octobre 2007
Messages : 2 390
Détails du profil
Informations personnelles :
Nom : Homme JF Jousseaume
Âge : 48
Localisation : France

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 2 390
Points : 3 356
Points : 3 356
Salut Ragain,

Citation:
Envoyé par Ragain Voir le message
Bonjour,

J'aimerai créer une macro qui permettrait d'insérer des images dans une page et que ces images soient redimensionnées. Pour le disposition des images je pense utiliser un tableau et les images viendraient dans les cases prévues. C'est pour la changement de dimensions des images que j'ai des problèmes. J'aimerai que les images fasses 8cm de large et 6cm de hauteur.
Voici mon code de macro pour insérer une image :
Code :
1
2
3
4
5
6
7
8
Sub Macro()
'
' Macro Macro
'
    Selection.InlineShapes.AddPicture FileName:= _
        "C:\Documents and Settings\***\*****\****\photo.jpg", LinkToFile:=False, _
         SaveWithDocument:=True
End Sub
Merci beaucoup pour votre aide.
Désolé ma réponse d'hier soir n'a pas été prise en compte ==> je te la renvoie:
Word ne sait pas gérer des dimensions réelles et a un très gros problème sur les tailles des objets. Les tailles qui tu indiques par l'interface ou en VBA ne correspondent pas à la réalité. Ce point a été vu comme un problème (important) de Word sur DVP.com. Prends un exemple :
  1. Ferme Word (s'il est déjà ouvert) et ouvre-le avec un nouveau document (comme ça personne ne pourra te reprocher d'avoir des scories de manipulation précédente)
  2. Dessine un cercle de 7 cm de diamètre, un rectangle de 8 cm x 5 cm avec l'interface
  3. Imprime-le et mesure (les valeurs sont fausses)
La seule chose cohérente c'est que si tu fais une forme de 8 cm elle devrait faire le double de taille à l'impression de la même forme de 4 cm (oui, quand même). Mais le calcul de la déformation de Word / à la réalité dépend de bricoles comme la version, l'imprimante, les paramètres de Word...
Rem: J'ai pris le cas des cm mais Word a le même problème en pouces, twips...

@+
Sepia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 10h52   #4
Invité de passage
 
Homme
Inscription : octobre 2011
Messages : 12
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : octobre 2011
Messages : 12
Points : 3
Points : 3
Bonjour,

Je redimensionne des wmf de cette manière et après ta remarque, j'ai regardé de plus près et il y vrai que j'ai une variation de 1 à 3 mm avec la même image. Quand j'avais controlé la première fois, je n'avais pas été frappé par cet écart, mais surtout dans mon cas, cela m'a pas beaucoup d'importance.
happy_diver est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2011, 00h26   #5
Invité de passage
 
Homme
Inscription : octobre 2011
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : octobre 2011
Messages : 2
Points : 0
Points : 0
Merci beaucoup Happy_diver et Sepia de vous pencher sur le problème.
Sepia, que la taille d´impression ne corresponde pas à la taille souhaitée n´est pas un problème pour ce que je souhaite réaliser (mais je n´en reste pas moins surpris!). Je souhaite seulement que les images soient disposées correctement sur la page et que leurs tailles soient réduites.
Sepia, merci pour le code, je l´ai essayé mais ca beug à partir de la ligne
Code :
    With Selection.InlineShapes(1)
Dans le code
Code :
1
2
3
4
5
6
7
8
9
10
11
12
Sub Makro1()
'
' Macro Macro
'
    Selection.InlineShapes.AddPicture FileName:= _
        "C:\Dokumente und Einstellungen\All Users\***\photo.jpg", LinkToFile:=False, _
         SaveWithDocument:=True
    With Selection.InlineShapes(1)
            .Width = MillimetersToPoints(80)
            .Height = MillimetersToPoints(60)
End With
End Sub
Merci beaucoup pour votre aide.
Ragain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2011, 09h49   #6
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 333
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 333
Points : 29 239
Points : 29 239
Salut,

Si tu as une erreur, il y a certainement un message avec l'erreur.

Aurais-tu la raison donnée par Word ?
__________________
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 !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/11/2011, 16h38   #7
Membre actif
 
Avatar de Souriane
 
Femme Guylaine C.
Assistant aux utilisateurs
Inscription : septembre 2009
Messages : 157
Détails du profil
Informations personnelles :
Nom : Femme Guylaine C.
Âge : 39
Localisation : Canada

Informations professionnelles :
Activité : Assistant aux utilisateurs
Secteur : Service public

Informations forums :
Inscription : septembre 2009
Messages : 157
Points : 153
Points : 153
Bonjour,

@Heureux-Oli, moi aussi ça me donnait un problème à la même ligne : "Le membre de la collection n'existe pas".

Moi la méthode que j'utilise est celle-ci:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub Makro1()
'
 
Dim objDoc As Document, objShape As InlineShape
 
Set objDoc = Application.Documents.Add
Set objShape = Selection.InlineShapes.AddPicture(FileName:="C:\Dokumente und Einstellungen\All Users\***\photo.jpg", LinkToFile:=False, SaveWithDocument:=True)
With objShape
    .LockAspectRatio = msoTrue
    .Height = .Height * 0.5
    .Width = .Width * 0.5
End With
 
 
End Sub
Bonne chance!

Souriane
Souriane 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 12h18.


 
 
 
 
Partenaires

Hébergement Web