Insertion auto de photos

Bonjour,

J'aimerais savoir si il est possible de créer une macro pour insérer des photos se trouvant dans un dossier en face des cellules contenant les mêmes noms que les photos.

Une espèce de recherche V pour photo finalement.

Pour le moment j'ai une macro qui insère les photos en masse en fonction de l'ordre des photos dans le dossier. Mais je suis assez limitée.

Merci d'avance pour votre aide :)

4 réponses

  1. Re Bonjour,

    Comme promis voici le code :

    Sub ID_List()
    Chemin = "C:\Repertoire\"
    Nb_Ligne = Sheets(1).Cells(1000000, 1).End(xlUp).Row

    For i = 1 To Nb_Ligne
    Nom_Image = UCase(Sheets(1).Cells(i, 1)) & ".JPG"
    MyPath = Chemin
    MyName = Dir(MyPath, vbDirectory)
    Do While MyName <> ""
    If UCase(MyName) = Nom_Image Then
    Sheets(1).Cells(i, 2).Select
    ActiveSheet.Pictures.Insert(Chemin & Nom_Image).Select
    GoTo Suite
    End If
    MyName = Dir
    Loop
    Suite:
    Next i

    MsgBox ("Les images sont chargés")
    End Sub

    Je t'es mis en gras les zones à changer pour les adapter à ton fichier :

    Le chemin est le répertoire dans lequel sont stoqués te images
    Le premier "1" en gras est la colonne ou se situes les titres de tes images
    Le deuxième "1" en gras est la première ligne où se trouve un titre d'image
    Le troisième "1" en gras est la colonne ou se situes les titres de tes images
    Le JPG est l'extension de la photo (ssi tes images sont BMP par exemple il faudra le remplacer
    Le "2" en gras est la colonne ou il va insérer l'image

    A toi de moduler les données en gras en fonction de ton fichier.

    Dernière Chose il faut que l'onglet soit en première position en partant de la gauche.

    Si tu ne connais pas du tout le VBA dis le moi et je t'indiquerais comment insérer cette Macro dans ton fichier.

    WeaponEDGE
    1
    1. Bonjour !

      Merci beaucoup pour ton aide.

      Par contre lorsque je lance ma macro, celle-ci ne fonctionne pas je n'ai pas du faire ce qu'il fallait.
      J'ai le message "Les images sont chargés" mais aucune image dans mon tableau.

      Voici ta macro avec mes paramètres, peux-tu me dire si il y a une erreur ?

      Sub ID_List()

      Chemin = "C:\Users\Carole\Desktop\export\photos"

      Nb_Ligne = Sheets(1).Cells(1000000, 1).End(xlUp).Row

      For i = 2 To Nb_Ligne

      Nom_Image = UCase(Sheets(1).Cells(i, 1)) & ".JPG"

      MyPath = Chemin

      MyName = Dir(MyPath, vbDirectory)

      Do While MyName <> ""

      If UCase(MyName) = Nom_Image Then

      Sheets(1).Cells(i, 2).Select

      ActiveSheet.Pictures.Insert(Chemin & Nom_Image).Select

      GoTo Suite

      End If

      MyName = Dir

      Loop

      Suite:

      Next i

      MsgBox ("Les images sont chargés")

      End Sub
      0
    2. Bonjour,

      Sur la ligne ci dessous Il faut rajouter \ après photos

      Chemin = "C:\Users\Carole\Desktop\export\photos"

      Tes photos sont au format JPG ou est ce qu'il y en a au forma BMP, PNG, OU TIF par exemple ?
      0
    3. Un petit détail qui change tout :)

      Du coup toutes les photos sont importées, par contre elles se superposent en ligne 4 à cheval entre les colonnes A et B.

      Désolée de t'embêter avec ça.

      Encore merci pour ton aide
      0
    4. C'est bizarre, normalement la position d'une image dépend de la cellule active ou moment où l'image est inséré.

      Sur la ligne ci dessous remplacez Select par Activate
      Sheets(1).Cells(i, 2).Select

      Si ça ne marche pas, serait il possible de m'envoyer une bride du tableau (par exemple avec 2 titres et les 2 images correspondante) à l'adresse suivante ?

      zzinformation sur @gmail.com
      0
    5. Je viens de t'envoyer un mail. Dis moi si tu l'as reçu :)
      0
  2. Bonjour,

    C'est possible mais il faut que la cellule de destination fasse la même taille que l'image qui est inséré sinon sa rognera forcément sur les lignes en dessous.
    0
    1. Bonjour,

      Merci pour ta réponse, pour ce qui est du souci de taille de cellule ce n'est pas un problème puisque je les redimensionne par script sur photoshop

      Et du coup quelle serait la formule magique pour que ça fonctionne ?

      :)
      0
      1. Je te crée le code et t'envoie ça prochainement.
        0
      2. Super merci :)
        0