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 :

[VBA-E] Copier une image dans un fichier word


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 19
    Points : 8
    Points
    8
    Par défaut [VBA-E] Copier une image dans un fichier word
    Bonjour,
    Ca va bientot faire 2 jours que je cherche sans rien avoir trouver c'est pourquoi j espere que vous pourrez m aider.
    En fait j'ai un fichier Excel qui contient pas mal d'image. L'objectif est que je copie chaque image dans un fichier Word (1 image par fichier word).Le probleme, c'est que je n'arrive pas a distinguer les images car elles sont considérées comme des cellules vides par Excel.
    L'image a ete copiee directement dans la cellule par un copier/coller.
    J'aurai voulu savoir s'il y avait un moyen de les distinguer
    Merci

  2. #2
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 175
    Points : 52
    Points
    52
    Par défaut
    Bonjour ,

    j'ai une soulution mais je ne sais si c'est ce que tu cherche. car j'vais le même problème avec le publipostage dans Word.

    la soulution est la suivante:

    -tu enregistre tes images dans un répertoire que tu met sur le bureau par exemple

    -et dans Excel : tu met dans les celules seulement le chemin vers tes image de cette facon:


    C:\\Documents and Settings\\i017602\\Desktop\\ChallengeApplication\\Signatures\\image1.jpg
    C:\\Documents and Settings\\i017602\\Desktop\\ChallengeApplication\\Signatures\\image2.jpg
    C:\\Documents and Settings\\i017602\\Desktop\\ChallengeApplication\\Signatures\\image3.jpg



    et pour récuperer tes images dans le fichier word tu suis les étapas suivantes: le SITE


    juste une remarque : pour taper la commonde {INCLUDEPICTUR"{MERGEFIELDE"image"}"} il faut appuyer sut CTRL+F9

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    J'avais bien penser a enregistrer chaque image dans un fichier specifique. Le probleme, c'est que j'ai 3 fichiers Excel avec plus de 100-150 images par fichier. Ce qui me prendrait vraiment beaucoup de temps.
    Mais merci de ta reponse

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Tu peux tester ça
    Nécessite d'activer les références Microsoft Word 10.0 Object Library et Microsoft Scripting Runtime

    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
    22
    23
    Sub CopierPhotosDansWordDepuisExcel()
    Dim Wd As Word.Application
    Dim dwd As Word.Document
    Dim Cl As Worksheet
    Dim NoLigne As Long, i As Long, LeText As String
        Set Cl = ActiveSheet
        Set Wd = CreateObject("Word.Application")
        Set dwd = Wd.Documents.Open("d:\doc\CollerDansWord.doc")
        Wd.Visible = True
        DoEvents
     
        For Each Limage In Worksheets("Feuil1").Shapes
            ActiveSheet.Shapes(Limage.Name).Copy
            Wd.Selection.Paste
            DoEvents
        Next
     
        dwd.Close true
        Wd.Quit
        Set dwd = Nothing
        Set Wd = Nothing
        Set Cl = Nothing
    End Sub
    A+

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    Merci de ta reponse.
    Ta solution semble marcher, par contre est ce que tu pourrai m expliquer a quoi correspond :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim NoLigne As Long, i As Long, LeText As String
    Limage
    Et est ce qu'il est possible de recuperer le N° de la ligne sur laquelle est située l'image que l'on est en train de copier?
    Merci

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Citation Envoyé par Vince_93700
    Merci de ta reponse.
    Ta solution semble marcher, par contre est ce que tu pourrai m expliquer a quoi correspond :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim NoLigne As Long, i As Long, LeText As String
    Limage
    Ben, ce sont des déclarations qui ne servent à rien... enfin pas dans la procédure telle que je l'ai écrite
    Par contre, comme tu l'as si bien relevé () j'ai oublié de déclarer Limage as variant
    Citation Envoyé par Ensuite, tu
    Et est ce qu'il est possible de recuperer le N° de la ligne sur laquelle est située l'image que l'on est en train de copier ?
    Merci
    Pas simplement. SilkyRoad a récemment donné une solution, tu devrais faire une recherche sur le forum VBA. Il s'agit d'un test sur la position haute de l'image (Top) et la position haute de la ligne (Top aussi)
    A+

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    Ok je vais regarder ca d 'un peu plus pres.
    Encore merci pour ton aide

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    Bonjour
    En fait cette solution en fonctionne qu'un seule fois. Des que j execute le code, et bien cela me copie une image dans le document Word mais ensuite le message d'erreur suivant s affiche
    Erreur definie par l'application ou par l'objet
    Le debuggueur m indique la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Shapes(Limage.Name).Copy
    Je ne comprend pas d'ou vient cette erreur
    Merci

  9. #9
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Là je n'ai pas le temps de tester mais essaie d'ajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            ActiveSheet.Shapes(Limage.Name).Select
    avant la ligne
    ActiveSheet.Shapes(Limage.Name).Copy
    Et teste le nom de Limage.Name quand ça plante (passe la souris dessus)
    A+

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    Je viens d'essayer ce que tu m as dis mais ca ne change rien. L'erreur se trouve maintenant sur le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Shapes(Limage.Name).Select
    Quand je passe la souris sur Limage.Name, rien ne s'affiche

  11. #11
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Il serait bien que tu donnes la méthode utilisée pour placer tes images dans Word. Pour ma part, je les ai toutes insérée par Insertion -> Image -> Du fichier.
    Si tu les as insérées dans un contrôle image, ma méthode ne fonctionne pas. Mais il me semble que dadavyvy a donné le code dans ce cas là.
    Tu peux nous dire ?
    A+

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    En fait les images ont ete inserees par copier/coller et ont comme proprite "deplacer et dimensionner avec les cellules"

Discussions similaires

  1. Copier une image dans un fichier .doc
    Par florianino dans le forum Général Java
    Réponses: 0
    Dernier message: 02/08/2012, 09h45
  2. Tester la présence d'une image dans un fichier WORD
    Par porikito dans le forum Débuter
    Réponses: 1
    Dernier message: 05/12/2007, 16h12
  3. Insérer une image dans un fichier Word
    Par nono_cap dans le forum Langage
    Réponses: 1
    Dernier message: 22/08/2007, 08h30
  4. [VBA-E] Copier une macro dans un fichier à l'aide d'une macro
    Par Capsule dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 09/01/2007, 20h05
  5. Comment copier une image dans le presse papier.
    Par cprogil dans le forum Langage
    Réponses: 7
    Dernier message: 09/09/2003, 15h54

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