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

Macros et VBA Excel Discussion :

Insertion d'image en-tête [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 14
    Par défaut Insertion d'image en-tête
    Bonjour à tous,

    Voilà, mon problème est que je souhaite insérer une image dans l'en-tête de mes feuilles (un logo).
    Je sais qu'il est possible de passer par un chemin mais je souhaite éviter cette solution car si on déplace l'image il va y avoir des problèmes.

    L'image que je souhaite insérer se trouve dans ma Feuil3 sous le nom de "Image 1". Je voulais donc savoir s'il est possible de l'insérer dans mon en-tête en utilisant ce nom "Image 1".

    Merci pour vos réponses.

  2. #2
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Salut,
    Je me suis largement inspiré d'un de mes codes qui passe par une copie sur un fichier temporaire afin de faire une sauvegarde en format JPG, du coup il y a peut-être moyen de simplifier mais j'ai pas le temps de chercher...

    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 EnTeteImage()
    '
    Dim S As Shape
    Application.ScreenUpdating = False 'Fige la mise à jour de l'écran
     
    Set S = Sheets("sheet3").Shapes(1) 'Affecte l'image à la variable S
    S.CopyPicture 'Copie l'image
    Workbooks.Add 'Crée un nouveau fichier
    ActiveSheet.Paste 'Colle l'image
    With ActiveSheet.ChartObjects.Add(0, 0, S.Width, S.Height).Chart
        .Paste
        .Export "I:\Temp\Image.jpg", "jpg" 'Sauvegarde l'image en format JPG
    End With
    ActiveWorkbook.Close False 'Ferme le fichier Excel temporaire sans sauver
     
    ActiveSheet.PageSetup.LeftHeaderPicture.Filename = _
            "I:\Temp\Image.jpg" 'Place l'image dans l'en-tête
     
    Application.ScreenUpdating = True
     
    End Sub
    A+

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 14
    Par défaut
    Merci pour cette solution qui fonctionne en partie.

    Le problème est que mon image est de mauvaise qualité après l'enregistrement.
    Je n'ai pas trouvé le moyen de conserver la qualité d'origine. En plus de cela une bordure vient entourer mon image alors que l'image d'origine n'en a pas.

    Si quelqu'un connait une solution ... je suis preneur

    Merci

  4. #4
    Membre Expert Avatar de Fvandermeulen
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 869
    Par défaut
    Re,
    J'ai pensé à autre chose...

    Essaies ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub EnTeteImageV2()
     
        Sheets("Sheet3").Copy
        ActiveWorkbook.SaveAs Filename:="C:\temp\Image.htm", FileFormat:=xlHtml
        ActiveWindow.Close False
        ActiveSheet.PageSetup.CenterHeaderPicture.Filename = "C:\temp\Image_files\image001.jpg"
     
    End Sub
    Je suis au boulot, j'ai pas su tester le code tel quel, j'ai pas accès au temp

    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [CR 9] Insertion d'image et poids des états
    Par cdu dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 19/02/2021, 11h46
  2. Formulaire et insertion d'image
    Par cadomalo dans le forum Access
    Réponses: 5
    Dernier message: 10/01/2006, 10h40
  3. Insertion d'image
    Par Bouboubou dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 8
    Dernier message: 11/12/2005, 22h44
  4. [JTable] Insertion d'images dans la première colonne
    Par cocolepelo dans le forum Composants
    Réponses: 2
    Dernier message: 29/11/2005, 15h17
  5. [CR8.5][Visual Adelia] Insertion d'images sur état
    Par adu dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 01/12/2004, 16h34

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