Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pictures à effacer

6 réponses
Avatar
Jacquouille
Bonsoir

Dans la colonne B, à chaque cel, de B3 à B 250, j'ai une petite flèche que
j'aimerais effacer. Il y en a 250.
J'ai fait ceci, mais il n'en veut pas....
---------------------
For i = 28 To 250 ' les 25 premières ont été effacées lors des tests de
macro
ActiveSheet.Shapes("Picture" & i).Delete
Next
End Sub
----------------------------
Comme j'ai pu voir, elles se nomment picture1, picture2 ....
Pouvez-vous m'aider un peu, svp
Merci et bonne fin de soirée


Jacquouille

" Le vin est au repas ce que le parfum est à la femme."

6 réponses

Avatar
Jacky
Bonsoir Jacques

....elles se nomment picture1, picture2 ....


et toi tu commences à
For i = 28



Pas certain du resultat, mais essaye....
--
Salutations
JJ


"Jacquouille" a écrit dans le message de news:
5044fe05$0$3122$
Bonsoir

Dans la colonne B, à chaque cel, de B3 à B 250, j'ai une petite flèche que j'aimerais effacer. Il y en a
250.
J'ai fait ceci, mais il n'en veut pas....
---------------------
For i = 28 To 250 ' les 25 premières ont été effacées lors des tests de macro
ActiveSheet.Shapes("Picture" & i).Delete
Next
End Sub
----------------------------
Comme j'ai pu voir, elles se nomment picture1, picture2 ....
Pouvez-vous m'aider un peu, svp
Merci et bonne fin de soirée


Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
Avatar
Jacquouille
' mais les 25 premières ont été effacées lors des tests.
j'ai essayé avec un plus petit nombre, mais sans résultat.
par contre, avec l'enregistreur de macro, j'ai remarqué qu'il y avait un
espace entre le mot picture et le numéro. picture 25 et non picture25.
j'ai donc modifié mon ("Picture" & i) en ("Picture " & i). cela a
fonctionné.
Scuzez du dérangement.
merci et bonne soirée



Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"Jacky" a écrit dans le message de groupe de discussion :
k22vek$ok2$

Bonsoir Jacques

....elles se nomment picture1, picture2 ....


et toi tu commences à
For i = 28



Pas certain du resultat, mais essaye....
--
Salutations
JJ


"Jacquouille" a écrit dans le message de news:
5044fe05$0$3122$
Bonsoir

Dans la colonne B, à chaque cel, de B3 à B 250, j'ai une petite flèche que
j'aimerais effacer. Il y en a 250.
J'ai fait ceci, mais il n'en veut pas....
---------------------
For i = 28 To 250 ' les 25 premières ont été effacées lors des tests de
macro
ActiveSheet.Shapes("Picture" & i).Delete
Next
End Sub
----------------------------
Comme j'ai pu voir, elles se nomment picture1, picture2 ....
Pouvez-vous m'aider un peu, svp
Merci et bonne fin de soirée


Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
Avatar
MichD
Bonjour,

Essaie comme ceci :

'----------------------------------
Sub test()
Dim Sh As Shape
With Worksheets("Feuil1") 'Nom feuille à adapter
For Each Sh In .Shapes
If TypeName(Sh.OLEFormat.Object) = "Picture" Then
If Sh.TopLeftCell.Column = 2 Then
Sh.Delete
End If
End If
Next
End With
End Sub
'----------------------------------


MichD
--------------------------------------------------------------
Avatar
Jacquouille
Tellement bien fait, que je n'ai même pas vu les images partir.
Adieu, pictures. On t'aimait bien, tu sais.
Grand merci à Toi, Denis et à Jacky pour sa pertinente remarque.
grâce à vous, voilà encore un chez d'oeuvre de réalisé.
Bonne soirée
jacques.


Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
k2335k$2nf$

Bonjour,

Essaie comme ceci :

'----------------------------------
Sub test()
Dim Sh As Shape
With Worksheets("Feuil1") 'Nom feuille à adapter
For Each Sh In .Shapes
If TypeName(Sh.OLEFormat.Object) = "Picture" Then
If Sh.TopLeftCell.Column = 2 Then
Sh.Delete
End If
End If
Next
End With
End Sub
'----------------------------------


MichD
--------------------------------------------------------------
Avatar
MichD
Remarques générales :

Si tu as conservé leur nom original lorsque tu as inséré ces images dans ta feuille,

A ) Tu peux voir leur nom en sélectionnant une image à la fois et en regardant dans
la section de droite de la barre des formules leur nom.

B ) Lorsque tu insères une image, leur nom original est "Image " + Index

C ) Dans ta boucle, il aurait fallu que tu débutes la bouche au niveau de l'index le plus bas
jusqu'au dernier en t’assurant que tous les index sont représentés, du plus bas au
plus haut. Sinon, tu peux simplement ajouter en début de procédure " ON ERROR RESUME NEXT"

D ) Ta macro serait devenue cela. Observe il y a un espace après l'expression "Image" si l'image
n'a pas été rebaptisée.

E ) La lacune de cette macro est qu'elle supprimerait toutes les images dont le nom débute par "Image"
et ayant un index entre 1 et 250 SANS vérifier que ces images soient toutes dans la colonne B.

'-------------------------------------
Sub Test()
On Error resume next
For i = 1 To 250
ActiveSheet.Shapes("Image " & i).Delete
Next
End Sub
'-------------------------------------

MichD
--------------------------------------------------------------
Avatar
Jacquouille
Ben ça, c'est de l'explication.
le pire, c'est que je crois avoir tout compris. Donc c'est bien expliqué.
Il s'agit d'un fichier téléchargé. je ne suis donc pas l'auteur de ces
placements intempestifs, d'autant plus qu'il s'agit d'une petite flèche qui
ne sert à rien.
C'est le point D (comme Denis) qui m'a fait ch**** avec cet espace que je
n'avais pas remarqué.
A cette heure, tout est rentré dans l'ordre.
merci pour ta patience et pour tes explications.
Si j'avais eu un prof comme cela depuis le début, mon neurone serait plus
développé. -))
Bonne fin de journée.
jacques.



Jacquouille

" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
k238hd$ffo$

Remarques générales :

Si tu as conservé leur nom original lorsque tu as inséré ces images dans ta
feuille,

A ) Tu peux voir leur nom en sélectionnant une image à la fois et en
regardant dans
la section de droite de la barre des formules leur nom.

B ) Lorsque tu insères une image, leur nom original est "Image " + Index

C ) Dans ta boucle, il aurait fallu que tu débutes la bouche au niveau de
l'index le plus bas
jusqu'au dernier en t’assurant que tous les index sont représentés, du
plus bas au
plus haut. Sinon, tu peux simplement ajouter en début de procédure "
ON ERROR RESUME NEXT"

D ) Ta macro serait devenue cela. Observe il y a un espace après
l'expression "Image" si l'image
n'a pas été rebaptisée.

E ) La lacune de cette macro est qu'elle supprimerait toutes les images dont
le nom débute par "Image"
et ayant un index entre 1 et 250 SANS vérifier que ces images soient
toutes dans la colonne B.

'-------------------------------------
Sub Test()
On Error resume next
For i = 1 To 250
ActiveSheet.Shapes("Image " & i).Delete
Next
End Sub
'-------------------------------------

MichD
--------------------------------------------------------------