Effacer des images selon une sélection

Le
Caroual
Bonjour,
Sur une feuille excel, j'ai une macro qui m'importe des images de graphique,
je voudrais pouvoir supprimer par macro les anciennes images à chaque fois
que j'actualise et que je vais en chercher de nouvelles.
Le problème est que sur cette feuille j'ai plusieurs autres images que je ne
veux pas supprimer. Je cherche donc une commande qui dirait :
suppression de toutes les images qui se trouvent dans la zone de selection.
J'ai essayé de sélectionner une zone et de faire clear ou delete mais mes
images sont toujours là !!

est-ce possible ?
Caroual
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
Philippe.R
Le #20624581
Bonsoir,
Une piste : lister le nom des images que tu souhaites conserver et dans une
boucle balayant toutes les images pour les supprimer, gérer l'exclusion de
celles listées à l'aide d'un test sur le nom d'icelles
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Caroual" news:%
Bonjour,
Sur une feuille excel, j'ai une macro qui m'importe des images de
graphique, je voudrais pouvoir supprimer par macro les anciennes images à
chaque fois que j'actualise et que je vais en chercher de nouvelles.
Le problème est que sur cette feuille j'ai plusieurs autres images que je
ne veux pas supprimer. Je cherche donc une commande qui dirait :
suppression de toutes les images qui se trouvent dans la zone de
selection.
J'ai essayé de sélectionner une zone et de faire clear ou delete mais mes
images sont toujours là !!

est-ce possible ?
Caroual




Caroual
Le #20625051
J'y avais pensé mais je ne maitrise pas les définitions de noms.
Normalement il me semble que l'on définit un nom pour un classeur. Or j'ai
une feuille avec les mêmes boutons que je reproduis plusieurs fois par mois
dans le même classeur en faisant des copies de feuilles, je vais donc avoir
plusieurs images que je veux garder avec les mêmes noms dans le classeur, je
pense que cela va me poser des soucis.
C'est pour cela que j'avais pensé que si je pouvais identifier mes images
selon leur place dans la feuille cela aurait été top.
Caroual

"Philippe.R" %23QI$
Bonsoir,
Une piste : lister le nom des images que tu souhaites conserver et dans
une boucle balayant toutes les images pour les supprimer, gérer
l'exclusion de celles listées à l'aide d'un test sur le nom d'icelles
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/web/mpfe
News://news.microsoft.com/microsoft.public.fr.excel
"Caroual" news:%
Bonjour,
Sur une feuille excel, j'ai une macro qui m'importe des images de
graphique, je voudrais pouvoir supprimer par macro les anciennes images à
chaque fois que j'actualise et que je vais en chercher de nouvelles.
Le problème est que sur cette feuille j'ai plusieurs autres images que je
ne veux pas supprimer. Je cherche donc une commande qui dirait :
suppression de toutes les images qui se trouvent dans la zone de
selection.
J'ai essayé de sélectionner une zone et de faire clear ou delete mais mes
images sont toujours là !!

est-ce possible ?
Caroual







michdenis
Le #20625211
Bonjour Caroual,

Cela devrait effacer toutes les images contenu
dans une sélection de cellules faites à l'écran.

'-------------------------------------
Sub test1()

Dim Sh As Shape, X As String
Dim Rg As Range

If TypeName(Selection) = "Range" Then
X = Selection.Parent.Name
Set Rg = Selection
With Worksheets(X)
For Each Sh In .Shapes
If TypeName(Sh.OLEFormat.Object) = "Picture" Then
If Not Intersect(Rg, Sh.TopLeftCell) Is Nothing And _
Not Intersect(Rg, Sh.BottomRightCell) Is Nothing Then
If Err = 0 Then
Sh.Delete
Else
Err = 0
End If
End If
End If
Next
End With
End If
End Sub
'-------------------------------------



"Caroual" #
Bonjour,
Sur une feuille excel, j'ai une macro qui m'importe des images de graphique,
je voudrais pouvoir supprimer par macro les anciennes images à chaque fois
que j'actualise et que je vais en chercher de nouvelles.
Le problème est que sur cette feuille j'ai plusieurs autres images que je ne
veux pas supprimer. Je cherche donc une commande qui dirait :
suppression de toutes les images qui se trouvent dans la zone de selection.
J'ai essayé de sélectionner une zone et de faire clear ou delete mais mes
images sont toujours là !!

est-ce possible ?
Caroual
Caroual
Le #20625301
Mais comment faites-vous pour être si fort ????
C'est génial.

Mille merci

Caroual
"michdenis"
Bonjour Caroual,

Cela devrait effacer toutes les images contenu
dans une sélection de cellules faites à l'écran.

'-------------------------------------
Sub test1()

Dim Sh As Shape, X As String
Dim Rg As Range

If TypeName(Selection) = "Range" Then
X = Selection.Parent.Name
Set Rg = Selection
With Worksheets(X)
For Each Sh In .Shapes
If TypeName(Sh.OLEFormat.Object) = "Picture" Then
If Not Intersect(Rg, Sh.TopLeftCell) Is Nothing And _
Not Intersect(Rg, Sh.BottomRightCell) Is Nothing Then
If Err = 0 Then
Sh.Delete
Else
Err = 0
End If
End If
End If
Next
End With
End If
End Sub
'-------------------------------------



"Caroual" discussion :
#
Bonjour,
Sur une feuille excel, j'ai une macro qui m'importe des images de
graphique,
je voudrais pouvoir supprimer par macro les anciennes images à chaque fois
que j'actualise et que je vais en chercher de nouvelles.
Le problème est que sur cette feuille j'ai plusieurs autres images que je
ne
veux pas supprimer. Je cherche donc une commande qui dirait :
suppression de toutes les images qui se trouvent dans la zone de
selection.
J'ai essayé de sélectionner une zone et de faire clear ou delete mais mes
images sont toujours là !!

est-ce possible ?
Caroual



michdenis
Le #20628841
Un commentaire sur la procédure :
Un bout de code qui a été oublié...!

Tout ceci :
'--------------------
If Err = 0 Then
Sh.Delete
Else
Err = 0
End If
'--------------------
peut être remplacé par simplement ceci :
Sh.Delete



"michdenis"
Bonjour Caroual,

Cela devrait effacer toutes les images contenu
dans une sélection de cellules faites à l'écran.

'-------------------------------------
Sub test1()

Dim Sh As Shape, X As String
Dim Rg As Range

If TypeName(Selection) = "Range" Then
X = Selection.Parent.Name
Set Rg = Selection
With Worksheets(X)
For Each Sh In .Shapes
If TypeName(Sh.OLEFormat.Object) = "Picture" Then
If Not Intersect(Rg, Sh.TopLeftCell) Is Nothing And _
Not Intersect(Rg, Sh.BottomRightCell) Is Nothing Then
If Err = 0 Then
Sh.Delete
Else
Err = 0
End If
End If
End If
Next
End With
End If
End Sub
'-------------------------------------



"Caroual" #
Bonjour,
Sur une feuille excel, j'ai une macro qui m'importe des images de graphique,
je voudrais pouvoir supprimer par macro les anciennes images à chaque fois
que j'actualise et que je vais en chercher de nouvelles.
Le problème est que sur cette feuille j'ai plusieurs autres images que je ne
veux pas supprimer. Je cherche donc une commande qui dirait :
suppression de toutes les images qui se trouvent dans la zone de selection.
J'ai essayé de sélectionner une zone et de faire clear ou delete mais mes
images sont toujours là !!

est-ce possible ?
Caroual
Caroual
Le #20633501
Merci,
J'ai aussi utilisé ton code pour faire une impression de ces images seules.
Cela marche super bien

Caroual

"michdenis"
Un commentaire sur la procédure :
Un bout de code qui a été oublié...!

Tout ceci :
'--------------------
If Err = 0 Then
Sh.Delete
Else
Err = 0
End If
'--------------------
peut être remplacé par simplement ceci :
Sh.Delete



"michdenis" discussion :

Bonjour Caroual,

Cela devrait effacer toutes les images contenu
dans une sélection de cellules faites à l'écran.

'-------------------------------------
Sub test1()

Dim Sh As Shape, X As String
Dim Rg As Range

If TypeName(Selection) = "Range" Then
X = Selection.Parent.Name
Set Rg = Selection
With Worksheets(X)
For Each Sh In .Shapes
If TypeName(Sh.OLEFormat.Object) = "Picture" Then
If Not Intersect(Rg, Sh.TopLeftCell) Is Nothing And _
Not Intersect(Rg, Sh.BottomRightCell) Is Nothing Then
If Err = 0 Then
Sh.Delete
Else
Err = 0
End If
End If
End If
Next
End With
End If
End Sub
'-------------------------------------



"Caroual" discussion :
#
Bonjour,
Sur une feuille excel, j'ai une macro qui m'importe des images de
graphique,
je voudrais pouvoir supprimer par macro les anciennes images à chaque fois
que j'actualise et que je vais en chercher de nouvelles.
Le problème est que sur cette feuille j'ai plusieurs autres images que je
ne
veux pas supprimer. Je cherche donc une commande qui dirait :
suppression de toutes les images qui se trouvent dans la zone de
selection.
J'ai essayé de sélectionner une zone et de faire clear ou delete mais mes
images sont toujours là !!

est-ce possible ?
Caroual



Publicité
Poster une réponse
Anonyme