Travailler avec des images en VBA

0
24688

Dans le cours d’aujourd’hui nous allons voir comment travailler avec des images en VBA en recherchant une image avec VBA puis de récupérer le lien et le placer dans une cellule. Ce n’est pas tout car nous allons aussi voir comment afficher l’image du lien. En fait non nous allons créer un objet et faire apparaitre l’image dans l’objet c’est plus intéressant non !


vous pouvez retrouver le liens du fichier ici Fichier : Travailler avec des images excel vba

Rechercher une image.

Alors avant de commencer nous allons créer un nouveau module, Puis nous allons devoir chercher notre fichier (image) avec le code suivant

Travailler avec des images en VBA

Alors petite explication ici.

Nous allons ouvrir le navigateur de fichier avec Application.filedialog(msofiledialogfilepicker). Puis nous allons placer les filtres de recherche et nommer notre formulaire de recherche en sélectionner une image. Quand cela est fait nous allons placer les informations dans la cellule H5

Nous allons aussi prévoir si l’utilisateur ne sélectionne pas d’image alors nous ne voulons pas de message d’erreur c’est pourquoi nous allons inclure le code si – 1 alors va à vide.

Afficher l’image.

Pour afficher l’image nous allons placer le code suivant

Travailler avec des images en VBA

Alors ici nous allons effacer la forme qui comporte déjà une image. Sauf que s’il n’y a pas d’image alors le system va nous renvoyer une erreur donc on va dire qu’il faut l’ignorer avec resume next. Ceci est la seul erreur que je sais qui risque d’apparaitre donc on place on error goto 0 pour la suite.

Alors une petite explication du on error goto 0 : cela va tout simplement annuler le on error resume next pour le reste du code car je veux savoir s’il y a une erreur plus loin dans mon code car je n’attends par de problème.

Puis nous allons placer le liens de l’image qui se trouve dans la cellule H5 dans la variable Imagelien. Si il n’y a pas de liens alors on quite le tout avec la condition if imagelien = empty

Désormais nous allons placer une image et déterminer sa taille et le nom avec with pictures.insert

Et pour finir nous allons dire ou placer notre image. Comme on peut le voir incrémentent et top permet de faire bouger l’image dans la cellule. Ici j’ai déterminé que l’emplacement gauche de limage se trouve à la taille de la cellule (240) – la taille de l’image / 2 ainsi il est au milieux.

La combinaison des deux macros

Il nous reste plus qua indiquer dans ImageSeardhe à la fin qu’il faut faire appel à Afficheimage.

Travailler avec des images en VBA

Et de place la macro imagesearche dans un bouton pour que tout fonctionne

Travailler avec des images en VBA

Conclusion

Cette méthode nous permet de créer une basse de données qui contient un liens des images sans devoir placer des images dans une cellule. Quand on a besoin de l’image alors on l’afficher sinon pas se qui permet d’alléger notre fichier. Par contre il faut savoir que si vous changer le nom du ficher vous allez avoir un message d’erreur ainsi que si vous changez le fichier de place.

Voila vous savez comment chercher un fichier et placer le liens dans une cellule. Et je vous retrouve dans un prochain cours ou je vous montre un peut plus en pratique comment cela fonctionne.

 

LAISSER UN COMMENTAIRE

Please enter your comment!
Please enter your name here

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.