Supprimer les images dans la Feuille Excel avec VBA

De temps en temps, on a besoin de supprimer d'un coup toutes les images qui se trouvent sur une Feuille ou même dans tout le Classeur Excel. On connaît tous le moment ou vous collez dans Excel le contenu d'une page web et sans le vouloir, tous les imagent "viennent avec"! Il peut être très fastidieux d'effacer les images manuellement. Voici donc le code VBA pour supprimer les images automatiquement.

VBA: supprimer les image de la feuille d'un classeur Excel

Que vous ayez besoin de nettoyer votre Feuille ou votre Classeur, ou que votre fichier soit envahi par les images après un copier/coller d'une page web, le code suivant (prêt à l'utilisation tel quel) va résoudre votre problème. D'un seul coup…

Je vous propose 3 versions de ce code VBA:

  • la procédure (Sub) qui supprime les images de la Feuille active
  • la procédure (Sub) qui supprime TOUTES les image du Classeur entier
  • la fonction (Function) qui supprime les images de la Feuille déterminée (le nom de la Feuille est le paramètre de cette fonction)

Attention: cette opération est irréversible. Si vous voulez annuler la suppression des images, vous devez fermer le fichier sans le sauvegarder et le rouvrir. Une fois que vous aurez sauvegarder le fichier, plus moyen de récupérer les images effacées!

Voici dons les différents codes VBA prêts à l'emploi. Il vous suffit de les copier/coller dans votre projet VBA.

Le code VBA pour supprimer les images de la Feuille active

Un code assez simple qui fait la boucle dans tous les Objets de type image (Picture) dans la Feuille active et les supprime…

 

Le code VBA pour supprimer les images de toutes les Feuilles du Classeur

Ici, on utilise le même principe que dans le code précédent mais on ajoute une seconde boucle qui va répéter le code pour chaque Feuille du Classeur actif…

 

La fonction VBA pour supprimer les images de la Feuille déterminée

Cette fonction vous permet, via son argument "MaFeuille" (de type String) de lancer le nettoyage pour une Feuille dont le nom correspond à la valeur dans "MaFeuille".

Si la Feuille n'existe pas dans le Classeur, la fonction va afficher un message d'erreur. Vous pouvez bien sûr modifier le comportent de la fonction dans ce cas-là selon vos besoins.

 

et l'exemple de l'utilisation de cette fonction en pratique:

 

 

Remarque: Effacer les images peut également être utile du point de vue de la taille de votre fichier. Car les images peuvent facilement être plus volumineux que les données mêmes qui se trouvent dans le fichier Excel…

Pour aller plus loin en VBA

Et pour terminer, voici quelques articles qui pourraient vous servir dans la conception de vos macros Excel…

 

Laissez un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *