Supprimer des copies d'images nommées

Le
garnote
Bonjour et Bonne journée,

Sur une feuille de calcul, j'ai 4 boutons et une zone de texte.
J'insère une image et je fais cinq copies de ladite image.
Je désire obtenir le nombre d'images sur ma feuille et
les supprimer. Si j'appelle la macro Compte, elle me renvoie
6 et c'est correct.

Sub Compte()
Dim forme As Object
Dim i As Integer
For Each forme In ActiveSheet.DrawingObjects
If TypeName(forme) = "Picture" Then i = i + 1
Next forme
MsgBox i
End Sub

Si j'appelle la macro Efface, elle supprime les 6 images et c'est corect aussi.
Sub Efface()
Dim forme As Object
Dim i As Integer
For Each forme In ActiveSheet.DrawingObjects
If TypeName(forme) = "Picture" Then forme.Delete
Next forme
End Sub

Mais si je donne un nom à l'image que j'insère et que j'en fais
cinq copies, la macro Compte me renvoie 6 et c'est encore correct.
Par contre la macro Efface bloque à forme.Delete.

Pourquoi en est-il ainsi et comment puis-je me sortir de cette affaire-là ?
Il faut que mes images soient nommées.

Merci
Serge
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
garnote
Le #4319491
Yep, c'est parfait ainsi.

Merci
Serge


"MichDenis"
Et si tu essayais ceci pour effacer toutes tes images :

Tu dois adapter le nom de la feuille...

Sub Efface()
Dim sh As Shape
For Each sh In Worksheets("Feuil1").Shapes
If sh.Type = msoPicture Then
sh.Delete
End If
Next
End Sub




"garnote" %
Bonjour et Bonne journée,

Sur une feuille de calcul, j'ai 4 boutons et une zone de texte.
J'insère une image et je fais cinq copies de ladite image.
Je désire obtenir le nombre d'images sur ma feuille et
les supprimer. Si j'appelle la macro Compte, elle me renvoie
6 et c'est correct.

Sub Compte()
Dim forme As Object
Dim i As Integer
For Each forme In ActiveSheet.DrawingObjects
If TypeName(forme) = "Picture" Then i = i + 1
Next forme
MsgBox i
End Sub

Si j'appelle la macro Efface, elle supprime les 6 images et c'est corect aussi.
Sub Efface()
Dim forme As Object
Dim i As Integer
For Each forme In ActiveSheet.DrawingObjects
If TypeName(forme) = "Picture" Then forme.Delete
Next forme
End Sub

Mais si je donne un nom à l'image que j'insère et que j'en fais
cinq copies, la macro Compte me renvoie 6 et c'est encore correct.
Par contre la macro Efface bloque à forme.Delete.

Pourquoi en est-il ainsi et comment puis-je me sortir de cette affaire-là ?
Il faut que mes images soient nommées.

Merci
Serge














MichDenis
Le #4319481
Et si tu essayais ceci pour effacer toutes tes images :

Tu dois adapter le nom de la feuille...

Sub Efface()
Dim sh As Shape
For Each sh In Worksheets("Feuil1").Shapes
If sh.Type = msoPicture Then
sh.Delete
End If
Next
End Sub




"garnote" %
Bonjour et Bonne journée,

Sur une feuille de calcul, j'ai 4 boutons et une zone de texte.
J'insère une image et je fais cinq copies de ladite image.
Je désire obtenir le nombre d'images sur ma feuille et
les supprimer. Si j'appelle la macro Compte, elle me renvoie
6 et c'est correct.

Sub Compte()
Dim forme As Object
Dim i As Integer
For Each forme In ActiveSheet.DrawingObjects
If TypeName(forme) = "Picture" Then i = i + 1
Next forme
MsgBox i
End Sub

Si j'appelle la macro Efface, elle supprime les 6 images et c'est corect aussi.
Sub Efface()
Dim forme As Object
Dim i As Integer
For Each forme In ActiveSheet.DrawingObjects
If TypeName(forme) = "Picture" Then forme.Delete
Next forme
End Sub

Mais si je donne un nom à l'image que j'insère et que j'en fais
cinq copies, la macro Compte me renvoie 6 et c'est encore correct.
Par contre la macro Efface bloque à forme.Delete.

Pourquoi en est-il ainsi et comment puis-je me sortir de cette affaire-là ?
Il faut que mes images soient nommées.

Merci
Serge
Publicité
Poster une réponse
Anonyme