OVH Cloud OVH Cloud

travail multifeuilles

6 réponses
Avatar
boblebob
salut,

au départ un problème simple, je veux supprimer les cellules A1:C8 de toutes
les feuilles d'une classeur, j'ai fais ça mais ça marche pas :

Sub effacer()

Dim feuille

For Each feuille In Application.Worksheets

Range("A1:C8").Delete

Next feuille

End Sub


la boucle ne boucle pas !!!
comment faire avec For each ... (impérativement)

--
a+
bob
-------
nospam-00-boblebob@voila.fr (retirer nospam-00-)

6 réponses

Avatar
garnote
Salut Bob,

Et si tu essayais :

Sub effacer()
Dim feuille
For Each feuille In Application.Worksheets
feuille.Range("A1:C8").ClearContents
Next feuille
End Sub

Serge


"boblebob" a écrit dans le message de news:

salut,

au départ un problème simple, je veux supprimer les cellules A1:C8 de
toutes

les feuilles d'une classeur, j'ai fais ça mais ça marche pas :

Sub effacer()

Dim feuille

For Each feuille In Application.Worksheets

Range("A1:C8").Delete

Next feuille

End Sub


la boucle ne boucle pas !!!
comment faire avec For each ... (impérativement)

--
a+
bob
-------
(retirer nospam-00-)




Avatar
Michel Pierron
Bonsoir "boblebob":
Sub effacer()
Dim feuille As WorkSheet
For Each feuille In ThisWorkbook.Worksheets
.Range("A1:C8").ClearContents
Next feuille
End Sub
MP

"boblebob" a écrit dans le message de
news:
salut,

au départ un problème simple, je veux supprimer les cellules A1:C8 de
toutes

les feuilles d'une classeur, j'ai fais ça mais ça marche pas :

Sub effacer()

Dim feuille

For Each feuille In Application.Worksheets

Range("A1:C8").Delete

Next feuille

End Sub


la boucle ne boucle pas !!!
comment faire avec For each ... (impérativement)

--
a+
bob
-------
(retirer nospam-00-)




Avatar
garnote
Ça marche aussi avec Delete mais le
résultat est différent !

Sub effacer()
Dim feuille
For Each feuille In Application.Worksheets
feuille.Range("A1:C8").Delete
Next feuille
End Sub

Serge
Avatar
Gilles
ET pourquoi pas plus simple

selectionne tes feuilles shift puis avec souris tu pointe sur la dernière,
puis delete sur ta première feuille, toutes tes feuilles de A1:C8 les
données seront effacées....

A pluche...
"boblebob" a écrit dans le message de news:

salut,

au départ un problème simple, je veux supprimer les cellules A1:C8 de
toutes

les feuilles d'une classeur, j'ai fais ça mais ça marche pas :

Sub effacer()

Dim feuille

For Each feuille In Application.Worksheets

Range("A1:C8").Delete

Next feuille

End Sub


la boucle ne boucle pas !!!
comment faire avec For each ... (impérativement)

--
a+
bob
-------
(retirer nospam-00-)




Avatar
boblebob
je peux pas le faire manuellement ceci doit faire parti d'une macro (demande
du client)


--
a+
bob
-------
(retirer nospam-00-)
"Gilles" a écrit dans le message de
news:3faab2c9$
ET pourquoi pas plus simple

selectionne tes feuilles shift puis avec souris tu pointe sur la dernière,
puis delete sur ta première feuille, toutes tes feuilles de A1:C8 les
données seront effacées....

A pluche...
"boblebob" a écrit dans le message de news:

salut,

au départ un problème simple, je veux supprimer les cellules A1:C8 de
toutes

les feuilles d'une classeur, j'ai fais ça mais ça marche pas :

Sub effacer()

Dim feuille

For Each feuille In Application.Worksheets

Range("A1:C8").Delete

Next feuille

End Sub


la boucle ne boucle pas !!!
comment faire avec For each ... (impérativement)

--
a+
bob
-------
(retirer nospam-00-)








Avatar
Michel Gaboly
Bonsoir,

Il y a une erreur et 2 autres problèmes possibles :

1 - Range("A1:C8"), sans qualificatif s'applique à la feuille active.
Par conséquent, à chaque passage de la boucle, tu traites les mêmes cellules.
Il faut utiliser :

Feuille.Range("A1:C8")

2 - En utilisant Application.Worksheets sans préciser un classeur le traite-
ment s'applique au classeur actif. Est-ce le bon ?

3 - Ta procédure s'appelle "Effacer", mais tu utilise Delete. Ce n'est pas
la même chose : Delete correspond à Supprimer, et implique que certaines
cellules de la feuille sont décalées vers la gauche ou vers le haut. Pour effacer,
il faut employer

Feuille.Range("A1:C8").ClearContents

pour effacer le contenu des cellules, ou

Feuille.Range("A1:C8").Clear

pour tout effacer (y compris formats et commentaires)




je peux pas le faire manuellement ceci doit faire parti d'une macro (demande
du client)

--
a+
bob
-------
(retirer nospam-00-)
"Gilles" a écrit dans le message de
news:3faab2c9$
ET pourquoi pas plus simple

selectionne tes feuilles shift puis avec souris tu pointe sur la dernière,
puis delete sur ta première feuille, toutes tes feuilles de A1:C8 les
données seront effacées....

A pluche...
"boblebob" a écrit dans le message de news:

salut,

au départ un problème simple, je veux supprimer les cellules A1:C8 de
toutes

les feuilles d'une classeur, j'ai fais ça mais ça marche pas :

Sub effacer()

Dim feuille

For Each feuille In Application.Worksheets

Range("A1:C8").Delete

Next feuille

End Sub


la boucle ne boucle pas !!!
comment faire avec For each ... (impérativement)

--
a+
bob
-------
(retirer nospam-00-)








--
Cordialement,

Michel Gaboly
http://www.gaboly.com