Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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


Bonsoir

regardes ce Tuto de JBoigontier

Salutations

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

Bonjour,

La partie "import d'images d'un répertoire", correspond exactement à ce que je cherche !!

Je vais voir si ça marche bien chez moi, mais en tous les cas, c'est tout à fait ça que je voulais.

Merci beaucoup !! 🙂
Aurore
 
Re : VBA Excel 2007 - insertion images

Re,

Bon, finalement, j'ai encore un soucis... tout marche très bien, mais j'essaye de fixer le format des photos (qui ne sont pas toutes de la même taille) pour que ça donne quelque chose de propre : colonne A la liste des noms de fichiers, et colonne B toutes les photos en face du nom de fichier correspondant...

Merci !

Aurore
 
Re : VBA Excel 2007 - insertion images

Bonjour Aurore,

mais j'essaye de fixer le format des photos (qui ne sont pas toutes de la même taille) pour que ça donne quelque chose de propre
le mieux à faire dans ce cas est d'utiliser un logiciel genre Photoshop, PaintshopPro, Adobe, .......... il y en a d'autres

et de redimensionner toutes tes photos

.
 
Re : VBA Excel 2007 - insertion images

Bonjour,

C'est effectivement une solution, mais le problème est :
1) Je n'ai pas de logiciel graphique pro
2) J'ai besoin de pouvoir accéder aux images à leur taille d'origine (donc avoir deux dossiers d'images à chaque fois, ce n'est pas très pratique)

Merci néanmoins pour ta réponse, je garde l'idée pour la cas où formater la taille ne serait pas possible du tout.
Mais je pense que ça doit être possible puisque c'est faisable lorsque l'on fait apparaitre une seule image du répertoire ?

Je continue de chercher en essayant de caser un "Shape" dans le code (pas simple quand on n'y connait rien! 😀)

Aurore
 
Re : VBA Excel 2007 - insertion images

J'ai oublié de préciser : Il n'y a pas seulement la question de "caser" les images, il y a aussi le fait qu'elle apparaissent "à l'envers", c'est à dire que si dans la colonne A j'ai image1 suivi de image2, à coté j'ai l'image2 suivie de l'image1.
 
Re : VBA Excel 2007 - insertion images

Re,

concernant le redimensionnement des images, je peux te le faire
( tous les dimanches, je redimensionne +/- 500 photos prises lors d'un jogging hebdomadaire et ça me prends moins de 5 minutes)
si tu veux, envoie-les moi par mail perso en spécifiant la dimension ( en pixels) que tu veux avoir après redimensionnement.

à+
 
Re : VBA Excel 2007 - insertion images

Merci de ta proposition, c'est super sympa ! 🙂

Malheureusement, il faut que je puisse le faire moi-même puisque j'ai régulièrement de nouveaux dossiers d'images à traiter...

Et puis maintenant, le code du début ne marche plus du tout chez moi, j'ai une erreur 400 systématique dont je n'arrive pas à me débarasser 😡

Et cela ne résoud pas non plus le problème de l'inversion des images...

Mais merci quand même !! 😀
 
Re : VBA Excel 2007 - insertion images

Ca y est, j'ai réussi à "semer" mon erreur 400 que je trainais 😀

Mais maintenant toutes mes images s'affichent exactement au même endroit, et je ne sais pas pourquoi, c'est toujours le même code pourtant. Je suis revenue au code de base :

Code:
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

Si quelqu'un a une idée pour me caser les images dans les cellules en face de chaque nom d'image... je suis preneuse ! 🙂

Merci !

Aurore
 
Re : VBA Excel 2007 - insertion images

J'ai trouvé comment ajuster les images en ajoutant la ligne :
monimage.Height = Height + 50

Par contre j'ai toujours toutes les images les unes au-dessus des autres au même endroit (sauf que maintenant elles font toutes la même taille, c'est un progrès 🙂).
 
Re : VBA Excel 2007 - insertion images


Si tu avais bien regardé le Tuto il y a aussi ça

Sub ImportImage()
repertoire = ThisWorkbook.Path & "\"
[b2].Select
Set monimage = ActiveSheet.Pictures.Insert(repertoire & [A2] & ".gif")
monimage.Height = ActiveCell.Height
monimage.Width = ActiveCell.Width
monimage.Top = [b2].Top
monimage.Left = [b2].Left
End Sub
😀

@plus

Gilbert_RGI
 
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
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…