Insertion auto de photos

CaroleDia -  
CaroleDia Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -
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. WeaponEDGE
     
    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. CaroleDia Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
       
      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. WeaponEDGE
       
      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. CaroleDia Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
       
      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. WeaponEDGE
       
      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. CaroleDia Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
       
      Je viens de t'envoyer un mail. Dis moi si tu l'as reçu :)
      0
  2. WeaponEDGE
     
    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
  3. CaroleDia Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
     
    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. WeaponEDGE
       
      Je te crée le code et t'envoie ça prochainement.
      0
    2. CaroleDia Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
       
      Super merci :)
      0
  4. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    tu devrais trouver ton bonheur sur l'excellent site de j. boisgontier :
    http://boisgontierjacques.free.fr/pages_site/lesimages.htm
    Si tu peux privilégie plutôt les solutions où les images restent externes au fichier, à moins que l'ensemble ne soit pas trop lourd.

    eric
    0