OVH Cloud OVH Cloud

supprimer une (ou plusieurs) image(s)

4 réponses
Avatar
Christophe Cerbourg
Bonjour,

grâce à votre aide, j'ai réussi à insérer une image dans ma feuille de la
façon ci-dessous :

ActiveSheet.Pictures.Insert(fileToOpen).Select
Selection.Name = "monimage"
Selection.ShapeRange.LockAspectRatio = msoFalse
With ActiveSheet.Shapes("monimage")
.Top = ActiveSheet.Cells(2, 8).Top
.Left = ActiveSheet.Cells(2, 8).Left
.Height = Range("h2:j7").Height
.Width = Range("h2:j7").Width

Maintenant, je cherche à supprimer les éventuelles images déjà présentes
avant d'insérer la nouvelle.
J'ai donc ajouté ceci avant les lignes ci-dessus :
ActiveSheet.Shapes.SelectAll
Selection.Delete
mais, horreur, ça supprime aussi mon bouton !

question : comment faire pour ne supprimer QUE mes images ?

Merci pour votre aide

4 réponses

Avatar
michdenis
Bonjour Christophe,

Voici une procédure qui devrait supprimer seulement les images.
Adapte le nom de la feuille dans la procédure

'----------------
Sub SupprimerSeulementImages()
Dim Img As MsoShapeType
Img = msoPicture

For Each sh In Worksheets("Feuil2").Shapes
If sh.Type = Img Then
sh.Delete
End If
Next

End Sub
'------------------


Salutations!


"Christophe Cerbourg" a écrit dans le message de news:%
Bonjour,

grâce à votre aide, j'ai réussi à insérer une image dans ma feuille de la
façon ci-dessous :

ActiveSheet.Pictures.Insert(fileToOpen).Select
Selection.Name = "monimage"
Selection.ShapeRange.LockAspectRatio = msoFalse
With ActiveSheet.Shapes("monimage")
.Top = ActiveSheet.Cells(2, 8).Top
.Left = ActiveSheet.Cells(2, 8).Left
.Height = Range("h2:j7").Height
.Width = Range("h2:j7").Width

Maintenant, je cherche à supprimer les éventuelles images déjà présentes
avant d'insérer la nouvelle.
J'ai donc ajouté ceci avant les lignes ci-dessus :
ActiveSheet.Shapes.SelectAll
Selection.Delete
mais, horreur, ça supprime aussi mon bouton !

question : comment faire pour ne supprimer QUE mes images ?

Merci pour votre aide
Avatar
Modeste
Bonjour,
;-)))
simplement :
Sub zaza()
fileToOpen = Application.GetOpenFilename("Images
(*.jpg), *.jpg")
If fileToOpen = False Then Exit Sub
'-------------------------------------------
On Error Resume Next
ActiveSheet.Shapes("monimage").Delete
'-------------------------------------------
ActiveSheet.Pictures.Insert(fileToOpen).Select
Selection.Name = "monimage"
Selection.ShapeRange.LockAspectRatio = msoFalse
With ActiveSheet.Shapes("monimage")
.Top = ActiveSheet.Cells(2, 8).Top
.Left = ActiveSheet.Cells(2, 8).Left
.Height = Range("h2:j7").Height
.Width = Range("h2:j7").Width
End With
End Sub
-----Message d'origine-----
Bonjour,

grâce à votre aide, j'ai réussi à insérer une image dans
ma feuille de la

façon ci-dessous :

ActiveSheet.Pictures.Insert(fileToOpen).Select
Selection.Name = "monimage"
Selection.ShapeRange.LockAspectRatio = msoFalse
With ActiveSheet.Shapes("monimage")
.Top = ActiveSheet.Cells(2, 8).Top
.Left = ActiveSheet.Cells(2, 8).Left
.Height = Range("h2:j7").Height
.Width = Range("h2:j7").Width

Maintenant, je cherche à supprimer les éventuelles
images déjà présentes

avant d'insérer la nouvelle.
J'ai donc ajouté ceci avant les lignes ci-dessus :
ActiveSheet.Shapes.SelectAll
Selection.Delete
mais, horreur, ça supprime aussi mon bouton !

question : comment faire pour ne supprimer QUE mes
images ?


Merci pour votre aide


.



Avatar
isabelle
bonjour Christophe,

ne sachant pas si c'est un bouton de la barre d'outils commande ou
Formulaire j'ai mis les deux possibilités.

Sub Macro1()
For Each d In ActiveSheet.DrawingObjects
If Left(d.Name, 6) <> "Button" And Left(d.Name, 13) <> "CommandButton"
Then
d.Delete
End If
Next
End Sub

isabelle


Bonjour,

grâce à votre aide, j'ai réussi à insérer une image dans ma feuille de la
façon ci-dessous :

ActiveSheet.Pictures.Insert(fileToOpen).Select
Selection.Name = "monimage"
Selection.ShapeRange.LockAspectRatio = msoFalse
With ActiveSheet.Shapes("monimage")
.Top = ActiveSheet.Cells(2, 8).Top
.Left = ActiveSheet.Cells(2, 8).Left
.Height = Range("h2:j7").Height
.Width = Range("h2:j7").Width

Maintenant, je cherche à supprimer les éventuelles images déjà présentes
avant d'insérer la nouvelle.
J'ai donc ajouté ceci avant les lignes ci-dessus :
ActiveSheet.Shapes.SelectAll
Selection.Delete
mais, horreur, ça supprime aussi mon bouton !

question : comment faire pour ne supprimer QUE mes images ?

Merci pour votre aide


Avatar
Christophe Cerbourg
merci à tou(te)s !
(pfiouuuuuu, y'a de ces boss, ici...)