Bonsoir à tous,
J'ai dans ma feuille Excel des zones de texte toutes nommées "toto1"
Je voudrais en lançant la macro les effacer toutes.
Je n'ai pas trouvé d'autre idée qu'une boucle FOR ... EACH (mais je suis
ouvert à toute suggestion plus simple !)
Toutefois connaissant peu la structure FOR EACH, je n'arrive pas à trouver
le script magique
Ca devrait ressembler à quelque chose comme :
For Each ActiveSheet.Shapes In ActiveSheet
If ActiveSheet.Shapes.Name = "toto1" Then
ActiveSheet.Shapes.Range("toto1").Select
Selection.Delete
Exit For
Qui aurait la bonté de me corriger ce script bancal ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Papyty
Bonjour @ tous et à Caribou :
Je voudrais en lançant la macro les effacer toutes. Je n'ai pas trouvé d'autre idée qu'une boucle FOR ... EACH (mais je suis ouvert à toute suggestion plus simple !)
A tester Sub test() For Each sShapes In ActiveSheet.Shapes If sShapes.Name = "toto1" Then ActiveSheet.Shapes.Range("toto1").Delete End If Next End Sub
Est ce que ça convien? -- @+ Thierry 27/12/2003 23:45:03
Bonjour @ tous et à Caribou :
Je voudrais en lançant la macro les effacer toutes.
Je n'ai pas trouvé d'autre idée qu'une boucle FOR ... EACH (mais je suis
ouvert à toute suggestion plus simple !)
A tester
Sub test()
For Each sShapes In ActiveSheet.Shapes
If sShapes.Name = "toto1" Then
ActiveSheet.Shapes.Range("toto1").Delete
End If
Next
End Sub
Est ce que ça convien?
--
@+
Thierry
27/12/2003 23:45:03
Je voudrais en lançant la macro les effacer toutes. Je n'ai pas trouvé d'autre idée qu'une boucle FOR ... EACH (mais je suis ouvert à toute suggestion plus simple !)
A tester Sub test() For Each sShapes In ActiveSheet.Shapes If sShapes.Name = "toto1" Then ActiveSheet.Shapes.Range("toto1").Delete End If Next End Sub
Est ce que ça convien? -- @+ Thierry 27/12/2003 23:45:03
Papyty
Bonjour @ tous et à Caribou :
J'ai dans ma feuille Excel des zones de texte toutes nommées "toto1"
J'ai répondu un peu vite, tu ne devrais pouvoir nommer qu'une zone de texte toto1. donc ActiveSheet.Shapes.Range("toto1").Delete suffit ;-))) -- @+ Thierry 27/12/2003 23:52:56
Bonjour @ tous et à Caribou :
J'ai dans ma feuille Excel des zones de texte toutes nommées "toto1"
J'ai répondu un peu vite, tu ne devrais pouvoir nommer qu'une zone de texte
toto1.
donc ActiveSheet.Shapes.Range("toto1").Delete suffit ;-)))
--
@+
Thierry
27/12/2003 23:52:56
J'ai dans ma feuille Excel des zones de texte toutes nommées "toto1"
J'ai répondu un peu vite, tu ne devrais pouvoir nommer qu'une zone de texte toto1. donc ActiveSheet.Shapes.Range("toto1").Delete suffit ;-))) -- @+ Thierry 27/12/2003 23:52:56
Caribou
MA-GNI-FIQUE !!!
Merci bcp !
Zou, je me replonge dans mon Excel !
"Papyty" a écrit dans le message de news:18vs5udz7z49s.rx9mb0fewj6q$
Bonjour @ tous et à Caribou :
Je voudrais en lançant la macro les effacer toutes. Je n'ai pas trouvé d'autre idée qu'une boucle FOR ... EACH (mais je suis ouvert à toute suggestion plus simple !)
A tester Sub test() For Each sShapes In ActiveSheet.Shapes If sShapes.Name = "toto1" Then ActiveSheet.Shapes.Range("toto1").Delete End If Next End Sub
Est ce que ça convien? -- @+ Thierry 27/12/2003 23:45:03
MA-GNI-FIQUE !!!
Merci bcp !
Zou, je me replonge dans mon Excel !
"Papyty" <papyty@yahoo.fr> a écrit dans le message de
news:18vs5udz7z49s.rx9mb0fewj6q$.dlg@40tude.net...
Bonjour @ tous et à Caribou :
Je voudrais en lançant la macro les effacer toutes.
Je n'ai pas trouvé d'autre idée qu'une boucle FOR ... EACH (mais je suis
ouvert à toute suggestion plus simple !)
A tester
Sub test()
For Each sShapes In ActiveSheet.Shapes
If sShapes.Name = "toto1" Then
ActiveSheet.Shapes.Range("toto1").Delete
End If
Next
End Sub
Est ce que ça convien?
--
@+
Thierry
27/12/2003 23:45:03
"Papyty" a écrit dans le message de news:18vs5udz7z49s.rx9mb0fewj6q$
Bonjour @ tous et à Caribou :
Je voudrais en lançant la macro les effacer toutes. Je n'ai pas trouvé d'autre idée qu'une boucle FOR ... EACH (mais je suis ouvert à toute suggestion plus simple !)
A tester Sub test() For Each sShapes In ActiveSheet.Shapes If sShapes.Name = "toto1" Then ActiveSheet.Shapes.Range("toto1").Delete End If Next End Sub
Est ce que ça convien? -- @+ Thierry 27/12/2003 23:45:03
Caribou
non, car dans ce cas l'effacement se fait shape par shape en commençant par la plus ancienne créée sous ce nom
Donc ta macro était parfaite ! ;o)
"Papyty" a écrit dans le message de news:650i9mpoece3$.64b0ihohii5j$
Bonjour @ tous et à Caribou :
J'ai dans ma feuille Excel des zones de texte toutes nommées "toto1"
J'ai répondu un peu vite, tu ne devrais pouvoir nommer qu'une zone de texte
toto1. donc ActiveSheet.Shapes.Range("toto1").Delete suffit ;-))) -- @+ Thierry 27/12/2003 23:52:56
non, car dans ce cas l'effacement se fait shape par shape en commençant par
la plus ancienne créée sous ce nom
Donc ta macro était parfaite ! ;o)
"Papyty" <papyty@yahoo.fr> a écrit dans le message de
news:650i9mpoece3$.64b0ihohii5j$.dlg@40tude.net...
Bonjour @ tous et à Caribou :
J'ai dans ma feuille Excel des zones de texte toutes nommées "toto1"
J'ai répondu un peu vite, tu ne devrais pouvoir nommer qu'une zone de
texte
toto1.
donc ActiveSheet.Shapes.Range("toto1").Delete suffit ;-)))
--
@+
Thierry
27/12/2003 23:52:56
non, car dans ce cas l'effacement se fait shape par shape en commençant par la plus ancienne créée sous ce nom
Donc ta macro était parfaite ! ;o)
"Papyty" a écrit dans le message de news:650i9mpoece3$.64b0ihohii5j$
Bonjour @ tous et à Caribou :
J'ai dans ma feuille Excel des zones de texte toutes nommées "toto1"
J'ai répondu un peu vite, tu ne devrais pouvoir nommer qu'une zone de texte
toto1. donc ActiveSheet.Shapes.Range("toto1").Delete suffit ;-))) -- @+ Thierry 27/12/2003 23:52:56
Jacquouille
Bonsoir sub effacer_toto() For each c in range machin if [c] = "toto" then [c] = "" end if next end sub ESKE cela irait ? PS je suis peu familier du Grand Breton. alors, veuillez excuser la gourance
"Papyty" a écrit dans le message news: 650i9mpoece3$.64b0ihohii5j$
Bonjour @ tous et à Caribou :
J'ai dans ma feuille Excel des zones de texte toutes nommées "toto1"
J'ai répondu un peu vite, tu ne devrais pouvoir nommer qu'une zone de texte
toto1. donc ActiveSheet.Shapes.Range("toto1").Delete suffit ;-))) -- @+ Thierry 27/12/2003 23:52:56
Bonsoir
sub effacer_toto()
For each c in range machin
if [c] = "toto" then
[c] = ""
end if
next
end sub
ESKE cela irait ?
PS je suis peu familier du Grand Breton. alors, veuillez excuser la
gourance
Bonsoir sub effacer_toto() For each c in range machin if [c] = "toto" then [c] = "" end if next end sub ESKE cela irait ? PS je suis peu familier du Grand Breton. alors, veuillez excuser la gourance