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. Il peut être très fastidieux de le faire manuellement. Voici donc le code VBA pour supprimer les images automatiquement.

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.

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)

Le code VBA pour supprimer les images de la Feuille active

 

Sub SupprimerLesImages_Feuille_Active()
'par: Excel-Malin.com ( http://excel-malin.com )
Application.ScreenUpdating = False

On Error GoTo SupprimerLesImagesErreur

Dim Img As Object
For Each Img In ActiveSheet.Pictures
    Img.Delete
Next Img

Exit Sub
SupprimerLesImagesErreur:
    MsgBox "Une erreur est survenue..."
Application.ScreenUpdating = True
End Sub

 

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

 

Sub SupprimerLesImages_Classeur_Entier()
'par: Excel-Malin.com ( http://excel-malin.com )
Application.ScreenUpdating = False

On Error GoTo SupprimerLesImagesErreur

Dim Img As Object
Dim Feuille As Worksheet

For Each Feuille In ActiveWorkbook.Worksheets
        For Each Img In Feuille.Pictures
            Img.Delete
        Next Img
Next Feuille

Application.ScreenUpdating = True
Exit Sub
SupprimerLesImagesErreur:
    MsgBox "Une erreur est survenue..."
Application.ScreenUpdating = True
End Sub

 

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

 

Public Function SupprimerLesImages_Feuille(MaFeuille As String)
'par: Excel-Malin.com ( http://excel-malin.com )
Application.ScreenUpdating = False

On Error GoTo SupprimerLesImagesErreur

Dim Img As Object

For Each Img In Sheets(MaFeuille).Pictures
    Img.Delete
Next Img

Application.ScreenUpdating = True
Exit Function

SupprimerLesImagesErreur:
    MsgBox "Une erreur est survenue..."
Application.ScreenUpdating = True
End Function

 

et l'exemple de l'utilisation de cette fonction

 

Sub ExempleSuppressionImage()
'par: Excel-Malin.com ( http://excel-malin.com )
Application.ScreenUpdating = False

On Error GoTo SupprimerLesImagesErreur
Dim MaFeuilleANettoyer As String

MaFeuilleANettoyer = "Feuil1"
MonNetoyage = SupprimerLesImages_Feuille(MaFeuilleANettoyer)

Application.ScreenUpdating = True
Exit Sub

SupprimerLesImagesErreur:
    MsgBox "Une erreur est survenue..."
Application.ScreenUpdating = True
End Sub

 

 

10 0



Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée.