Rob a écrit sur un problème qu’il rencontrait en supprimant des images d’une feuille de calcul. Il a des macros qui ajoutent une image (une signature) en tant que forme, mais quand il essaie plus tard de supprimer l’image, il ne la trouve pas dans la collection Shapes.

Il y a plusieurs choses à vérifier. Tout d’abord, vous devez vous assurer que vous utilisez la syntaxe appropriée pour effectuer la suppression. Vérifiez que vous incluez explicitement l’objet de feuille dans votre code.

Par exemple, la ligne suivante ne fonctionnera pas:

Shapes(1).Delete

Au lieu de cela, vous devez spécifier la feuille, en utilisant un code similaire à l’une des lignes suivantes:

ActiveSheet.Shapes(1).Delete Sheets("Sheet1").Shapes(1).Delete Sheets(1).Shapes("Signature").Delete

Si vous déterminez que l’image attendue ne se trouve pas dans la collection Shapes, il est possible qu’Excel (pour des raisons étranges uniquement connues d’Excel) ait déplacé l’image vers une autre collection, telle que la collection Pictures. Si vous suspectez cela, essayez d’utiliser la macro suivante:

Sub WhatAmI()

Dim sTemp As String

sTemp = "You selected this type of object: " & TypeName(Selection)

sTemp = sTemp & vbCrLf     sTemp = sTemp & "It's name is " & Selection.Name     MsgBox sTemp End Sub

Sélectionnez l’image de signature, puis exécutez la macro. Vous devriez voir une boîte de message indiquant le type d’objet que vous avez sélectionné, ainsi que son nom.

Vous pouvez ensuite utiliser les informations pour modifier votre macro afin qu’elle supprime l’image, comme vous le souhaitez.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (2480) s’applique à Microsoft Excel 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban d’Excel (Excel 2007 et versions ultérieures) ici:

link: / excelribbon-Removing_Pictures_for_a_Worksheet_in_VBA [Suppression d’images pour une feuille de calcul dans VBA].