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 images en masse [XL-MAC 2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2019
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2019
    Messages : 14
    Par défaut Insertion images en masse
    Bonjour à tous,

    Je cherche à insérer des images en masse selon les "conditions" suivantes :
    - Les images sont sur mon disque dur dans un dossier spécifique
    - Deux colonnes importantes : Colonne B ou les images devront s'afficher / Colonne D ou sont contenu les références de mes produits
    - Les fichiers sont nommés par référence

    Pourquoi je cherche à faire cela en masse :
    J'ai plus de 15 000 photos / Références.

    Comportement recherché : Au lancement de la macro, les images s'importent et se mettent dans les cellules correspondantes.

    J'insiste bien sur le fait que les images doivent être importées dans le fichier et non correspondre à un lien.
    Le fichier devant être à terme envoyé à mes clients sans que j'ai à envoyer un dossier contenant les images avec.

    J'ai recherché beaucoup sur ce forum comme sur d'autres et ça ne colle jamais à ce que j'attends.
    En effet, soit il faut envoyer un dossier avec le fichier excel, soit il faut pour chaque image aller sélectionner les images. Ce qui en soit accélère un peu ma tache mais est loin d'être opti.

    Pourquoi je ne le fais pas moi même ? Parce que je suis une bille en VBA.
    Autant je comprendrais en grande parti le code que j'aurais en face des yeux, autant je suis incapable d'en écrire une ligne.

    Par avance, je vous remercie enormément pour l'aide que vous pourrez m'apporter !

    Cordialement,

    Florian

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour

    Serais-tu du genre à faire supporter brutalement (d'un seul coup) à une fourgonnette le poids et l'encombrement de tous les objets dont l'entreposage nécessite toutes les étagères d'un très grand entrepôt ?

    Excel (mais pas uniquement et très loin d'être "uniquement"), n'est pas le véhicule adéquat...

  3. #3
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2019
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2019
    Messages : 14
    Par défaut
    Bonjour unparia,

    Je m'attendais à ce genre de réponse
    J'ai des fichiers équivalent voir plus gros, avec des photos plus lourde et non optimisés. Sans pour autant que cela n'affecte la capacité d'Excel à traiter les données.

    Je suis sur qu'il est capable d'encaisser. Je suis également sur qu'il faudra pas lui faire importer les 15000 images en une demi seconde

    Je reste persuadé que c'est jouable, parce que malgré tout, Excel est une sacré fourgonnette


    EDIT :

    J'ai commencé à faire quelque chose en utilisant des bout de code ici et là...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub importImage()
      Folder = ThisWorkbook.Path
      SubFolder = Folder & "/imgImport/"
      For i = 5 To 2009
      Fullname = SubFolder & Range("D" & i) & ".jpg"
      Adresse = "B" & i
      Range(Adresse).Select
     
     ActiveSheet.Shapes.AddPicture Fullname, msoFalse, msoCTrue, 100, 100, 70, 70
     
      Next
    End Sub
    Mais j'obtiens une erreur :

    Une erreur s'est produite lors de l'importation de ce fichier.
    Puis :
    Erreur d'exécution "1004"
    Erreur définie par l'application ou par l'objet
    La ligne mise en jaune au débug est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Shapes.AddPicture Fullname, msoFalse, msoCTrue, 100, 100, 70, 70

    J'ai vérifié les dossier et les fichiers, tout est bon, tout est là.
    OUI Je saisi la plage manuellement et volontairement de 5 à 2009. Pour commencer "petit"
    Comment puis-je obtenir plus d'information concernant cette erreur ?

    Merci !

  4. #4
    Membre expérimenté
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Septembre 2019
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Septembre 2019
    Messages : 151
    Par défaut
    Bonjour
    Sans connaitre le code,
    je vois une erreur dans le chemin fichier
    au lieu d'écrire SubFolder = Folder & "/imgImport/"
    il faudrait inverser les barres obliques
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SubFolder = Folder & "\imgImport\"

  5. #5
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2019
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2019
    Messages : 14
    Par défaut
    Bonjour Tony,

    Merci pour votre retour.
    Les slashs sont correct, en effet il s'agit d'excel sur MAC
    Sur Windows, il aurait en effet fallu des antislashs.

    Merci !

  6. #6
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mai 2019
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Mai 2019
    Messages : 14
    Par défaut
    Re bonjour à tous,

    J'ai testé le même code sous Windows :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub importImage()
      Folder = ThisWorkbook.Path
      SubFolder = Folder & "\imgImport\"
      For i = 5 To 2009
      FullName = SubFolder & Range("D" & i) & ".jpg"
      Adresse = "B" & i
      Range(Adresse).Select
      If Len(Dir(FullName)) > 0 Then
     
        ActiveSheet.Shapes.AddPicture FullName, False, True, 100, 100, 70, 70
      End If
      Next
    End Sub
    Et ça fonctionne !

    Maintenant, le problème vous vous en douterez, c'est le positionnement des images ainsi que leur dimensions.
    En effet, en l'état, TOUTES les images sont à la même position, et sont carré.

    Comment dans le même code puis-je faire en sorte que l'image prenne la taille de la cellule, garde ses proportions originales ET soit bien dans les cellules demandées ?

    Merci d'avance !

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

Discussions similaires

  1. Insertion image
    Par pitit777 dans le forum OpenGL
    Réponses: 2
    Dernier message: 09/02/2006, 12h47
  2. [FLASH MX] Problème PHP/Flash insertion image
    Par eyovas dans le forum Flash
    Réponses: 4
    Dernier message: 25/01/2006, 09h09
  3. probleme insertion images
    Par kojima dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 29/12/2005, 22h30
  4. [Excel][POI] insertion image
    Par noOneIsInnocent dans le forum Documents
    Réponses: 7
    Dernier message: 29/09/2005, 17h04
  5. [javascript] problème insertion image
    Par Pwill dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 18/05/2005, 16h12

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