VBA Excel 2007 - insertion images

  • Initiateur de la discussion Initiateur de la discussion Aurore_C
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

Aurore_C

Guest
Bonjour,

Je cherche à insérer une image dans la colonne 2 d'un fichier excel à partir de références qui seraient saisies dans la colonne 1 de ce même fichier (et possédant le même nom que les images en question).

J'ai chercher sur le forum, mais malheureusement je n'ai rien trouvé qui puisse correspondre à cela...

A noter aussi que je suis totale débutante en VBA.

Merci,
Aurore
 
Re : VBA Excel 2007 - insertion images

Alors pour le moment, j'en suis là :

Sub ImportImages()
repertoire = ThisWorkbook.Path & "\"
nf = Dir(repertoire & "*.jpg") ' premier fichier
Range("b2").Select
Do While nf <> ""
Set monimage = ActiveSheet.Pictures.Insert(nf)
monimage.Height = ActiveCell.Height
monimage.Width = ActiveCell.Width
monimage.Top = [b2].Top
monimage.Left = [b2].Left
monimage.Name = Left(nf, Len(nf) - 4) ' Donne un nom à l'image
ActiveCell.Offset(0, -1) = Application.Proper(Left(nf, Len(nf) - 4))
ActiveCell.EntireRow.RowHeight = monimage.Height + 0
nf = Dir ' suivant
ActiveCell.Offset(1, 0).Select
Loop
End Sub

Ce qui me met la totalité des images en B2.

Je continue mes essais 😀

Aurore
 
Dernière modification par un modérateur:
Re : VBA Excel 2007 - insertion images

Bonjour,

Promis j'ai bien tout regardé ce tutoriel (qui est d'ailleurs très clair, même pour une débutante, 10 000 fois plus clair que le bouquin VBA que j'ai acheté pour rien car c'est du chinois pour moi!), j'ai juste un peu de mal à l'adapter à ma situation 😀

Pour exemple, ton code ci-dessus ne marche pas chez moi, car j'ai une erreur "400" qui apparait et que je ne comprends pas (je sais que ça vient de chez moi, et pas du code, mais du coup, impossible pour moi de l'utiliser tel quel).

C'est la raison pour laquelle j'essaye d'intégrer juste quelques "suppléments" peu à peu au premier code (qui marche - du moins lorsque je n'y touche pas trop longtemps! 😉), mais le mieux que j'ai réussi à faire, c'est d'avoir toutes les images bien casées et cadrées dans une cellule, mais toutes dans la même cellule, au lieu de les avoir les unes en dessous des autres (et donc en face de leurs noms respectifs).

Merci pour ta réponse en tous les cas, je vais creuser en essayant d'intégrer les données du code ci-dessus! 🙂

Aurore

Essaie ce fichier

chez moi il fonctionne

tu dois mettre le gif dans le même répertoire que le xls

Cdlt

Gilbert_RGI
 

Pièces jointes

Dernière édition:
Re : VBA Excel 2007 - insertion images

Essaie ce fichier

chez moi il fonctionne

tu dois mettre le gif dans le même répertoire que le xls

Cdlt

Gilbert_RGI

Bonjour,

Effectivement ton fichier marche parfaitement bien chez moi ! Mais je pense avoir compris mon erreur : j'avais modifié en mettant ".jpg" puisque je n'avais pas de .gif, et en fait ça ne marchait pas étant donné que j'ai plusieurs fichiers jpg dans le répertoire...

Bref, toutes mes excuses pour cette erreur de ma part...

Par contre, étant donné que c'est bien l'affichage de plusieurs jpg qui m'intéresse en priorité, aurais-tu la solution quant au premier code qui affiche chez moi les images, mais groupées au même endroit et non pas les unes en dessous des autres dans les lignes situées face aux noms d'images (comme on le voit pourtant sur l'image du tutoriel, donc le problème viendrait de chez moi) ?

Sub ImportImages()
repertoire = ThisWorkbook.Path & "\"
nf = Dir(repertoire & "*.jpg") ' premier fichier
Range("b2").Select
Do While nf <> ""
Set monimage = ActiveSheet.Pictures.Insert(nf)
monimage.Name = Left(nf, Len(nf) - 4) ' Donne un nom à l'image
ActiveCell.Offset(0, -1) = Application.Proper(Left(nf, Len(nf) - 4))
ActiveCell.EntireRow.RowHeight = monimage.Height + 0
nf = Dir ' suivant
ActiveCell.Offset(1, 0).Select
Loop
End Sub


Je mets en pièces jointes le code et trois images pour plus de clartée.

Merci !

Aurore
 

Pièces jointes

  • image3.JPG
    image3.JPG
    2.9 KB · Affichages: 123
  • image2.JPG
    image2.JPG
    2.1 KB · Affichages: 130
  • image1.jpg
    image1.jpg
    5.5 KB · Affichages: 144
  • image3.JPG
    image3.JPG
    2.9 KB · Affichages: 121
  • image2.JPG
    image2.JPG
    2.1 KB · Affichages: 111
  • image1.jpg
    image1.jpg
    5.5 KB · Affichages: 114
  • image3.JPG
    image3.JPG
    2.9 KB · Affichages: 107
  • image2.JPG
    image2.JPG
    2.1 KB · Affichages: 121
  • image1.jpg
    image1.jpg
    5.5 KB · Affichages: 123
  • Test ImportImages.xls
    Test ImportImages.xls
    34 KB · Affichages: 110
  • Test ImportImages.xls
    Test ImportImages.xls
    34 KB · Affichages: 126
  • Test ImportImages.xls
    Test ImportImages.xls
    34 KB · Affichages: 117
Re : VBA Excel 2007 - insertion images

je ne sais pas si cela te convient ???

mais ça fonctionne 😀

une fois de plus il faut que les images soient dans le même répertoire que le xls sinon elles ne seront pas affichées
 

Pièces jointes

Re : VBA Excel 2007 - insertion images

je ne sais pas si cela te convient ???

mais ça fonctionne 😀

une fois de plus il faut que les images soient dans le même répertoire que le xls sinon elles ne seront pas affichées

ça marche pour mon exemple, mais ça ne marche pas pour autre chose... en fait le fait que mes images s'appellent "image1", 2, ect... c'est pour rendre mes essais plus clair, car ce qu'il me fait, c'est que le code puisse me lister réellement ce que contient le répertoire d'images, avec le nom réel des images... bref, je ne sais pas si je suis bien claire ?

en fait si j'ai trois images appelées : bidouille36, transitor, et arthur dans un répertoire, que le code puisse m'extraire ces trois noms en colonne A et avoir en colonne B les images correspondantes...

est-ce possible ? 😕

(ps: je dis trois images, mais en réalité, c'est plus entre 50 et 200 images par répertoire, d'où l'intérêt! 😀)
 
Re : VBA Excel 2007 - insertion images

un essai

en feuille 2 récupération des jpg dans le répertoire possibilité aussi d'ajouter des gif's

ensuite en feuille 1 affichage du chemin et de l'image

Bonjour,

Oui !!! Super ! C'est exactement ça que je cherche comme résultat !
(il ne me reste plus qu'à enlever les ".jpg" à la fin de la première liste, mais comme je l'avais sur un autre code, j'espère réussir à trouver à l'ajouter à ton dernier code!!)

Merci beaucoup pour ton aide précieuse ! 🙂

Aurore
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour