IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Word Discussion :

Insérer une image dans l'en-tête


Sujet :

VBA Word

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 18
    Points : 10
    Points
    10
    Par défaut Insérer une image dans l'en-tête
    Bonjour à tous!

    J'ai un début de macro pour insérer une image dans l'-entête d'un document.
    Mais je n'arrive pas à le finir, je voudrais:
    - forcer l'image à garder ses proportions
    - appliquer une larguer de 21 cm
    - envoyer l'image derrière le texte.

    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub AddLogo()
        Dim docActive As Document
        Set docActive = Word.ActiveDocument
     
        ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Range.InlineShapes. _
        AddPicture "MacPro 1:xClients:60-166•UNSS, Gabarits Word & Powerpoint:12•imports:fond-regional.png"
     
        ActiveDocument.Sections(1).Headers(wdHeaderFooterFirstPage).Range.InlineShapes. _
        AddPicture "MacPro 1:xClients:60-166•UNSS, Gabarits Word & Powerpoint:12•imports:fond-regional.png"
     
        ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
    End Sub
    Merci de me mettre sur la bonne piste sachant que je suis débutant en VBA.


  2. #2
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Bon, j'ai trouvé sur le net de quoi étoffer tout ça.

    Ce qu'il me manque maintenant, c'est une boucle de traitement de toutes les images contenues dans un dossier.
    Pour chacune d'elles, je voudrais:
    - importer l'image (code ci-dessous)
    - enregistrer le document Word sous le même nom que l'image au format dotx
    - dans un dossier nommé DOTX sur le bureau ou dans le dossier Documents

    Le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Sub InsertPageBackground()
     
        Dim shape1 As Shape
        Dim imagePath1 As String
        imagePath1 = "MacPro 1:xClients:60-166•UNSS, Gabarits Word & Powerpoint:12•imports:fond-regional.png"
        Set shape1 = ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Shapes.AddPicture(imagePath1)
     
        With shape1
            .WrapFormat.AllowOverlap = True
            .WrapFormat.Side = wdWrapBoth
            .LockAspectRatio = msoTrue
            .WrapFormat.Type = 3
            .ZOrder 5
            .RelativeHorizontalPosition = wdRelativeHorizontalPositionPage
            .RelativeVerticalPosition = wdRelativeVerticalPositionPage
            .Left = MillimetersToPoints(0)
            .Top = MillimetersToPoints(0)
            .Width = MillimetersToPoints(210)
        End With
     
    End Sub
    En fait, tout ça, je sais le faire en Applescript. Mais…
    Il semble y avoir un bug avec Word 2011 qui empêche de passer une image derrière le texte.

    Dans le code suivant, la commande Z Order (ligne 9) est non-effective et ne génère aucune erreur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    	tell front document
    		set firstSection to section 1
    		set theHeader to get header firstSection index 1
    		tell theHeader
    			try
    				delete pictures
    			end try
    			set a1 to make new picture at end with properties {file name:"MacPro 1:xClients:60-166•UNSS, Gabarits Word & Powerpoint:12•imports:fond-departemental.png"}
    			z order a1 z order command send shape behind text
    		end tell
    	end tell
    Autre chose: si je tente de créer l'image via Applescript puis de lancer une macro pour la passer derrière le texte, j'obtiens le même résultat : rien.
    Il semble donc que ce soit la commande Applescript "Make new Picture" qui pose problème.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Personne?


Discussions similaires

  1. [XL-2013] Insérer une image dans l'en-tête d'une feuille Excel
    Par carte_blanche dans le forum Excel
    Réponses: 4
    Dernier message: 20/04/2015, 11h21
  2. [AC-2007] Insérer une image dans un en-tête Word
    Par Lou17 dans le forum VBA Access
    Réponses: 3
    Dernier message: 05/12/2010, 14h59
  3. Comment insérer une image dans une cellule d'un TDrawGrid ?
    Par kanux dans le forum Composants VCL
    Réponses: 4
    Dernier message: 15/01/2005, 18h58
  4. [Crystal Reports 9] comment insérer une image dans Détails
    Par VVE dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 22/10/2003, 17h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo