Boucle sur plusieurs feuilles

natbru

XLDnaute Occasionnel
Bonjour,

Ci-joint le classeur exemple.

Le but est de supprimer le contenu des cellules lorsqu'elles sont en jaune.
Ma macro fonctionne mais uniquement sur la feuille selectionnée, alors qu'il faut qu'elle s'execute sur toutes les feuilles.

Dim feuille As Worksheet
Dim cellule As Range
Dim constantes As Range
Dim formules As Range

Sub effacer2()

If MsgBox("Etes-vous sûr de vouloir effacer toutes les données saisies ?", vbYesNo) = vbYes Then

On Error Resume Next

For Each feuille In Worksheets

Set constantes = Selection.SpecialCells(xlConstants)
For Each cellule In constantes
If cellule.Interior.ColorIndex = 36 Then cellule.ClearContents
Next cellule

Set formules = Selection.SpecialCells(xlFormulas)
For Each cellule In formules
If cellule.Interior.ColorIndex = 36 Then cellule.ClearContents
Next cellule

Next feuille

End If

End Sub


Je pense qu'il n'y a pas de meilleur endroit qu'ici pour avoir un petit conseil. Alors merci d'avance.

Natacha.
 

Pièces jointes

  • Classeur1.xls
    19.5 KB · Affichages: 59
  • Classeur1.xls
    19.5 KB · Affichages: 65
  • Classeur1.xls
    19.5 KB · Affichages: 65

wilfried_42

XLDnaute Barbatruc
Re : Boucle sur plusieurs feuilles

Bonjour natbru

Set constantes = Selection.SpecialCells(xlConstants)
For Each cellule In constantes
If cellule.Interior.ColorIndex = 36 Then cellule.ClearContents

je ne sais pas mais dans selection ne cerroespond a rien de selectionné
et tu ne fais reférence à aucune feuille
c'est en aveugle mais essaye

feuille.cells.select
Set constantes = Selection.SpecialCells(xlConstants)
For Each cellule In constantes
If cellule.Interior.ColorIndex = 36 Then cellule.ClearContents
ou encore :
Set constantes = feuille.SpecialCells(xlConstants)
For Each cellule In constantes
If cellule.Interior.ColorIndex = 36 Then cellule.ClearContents

m'enfin si tu utilise selection c'est qu'il y a qelque chose de selectionné

@ te lire
 

natbru

XLDnaute Occasionnel
Re : Boucle sur plusieurs feuilles

Merci Wilfried pour ta réponse,

j'ai testé tes deux solutions :

- la 1ère a eu le même effet que la mienne

-la 2e = bug

aurais tu une autre idée ?

pour la selection, en effet, je savais pas quoi mettre d'autre...lol

je voulais que seules les cellules non vides soit étudié.
 

ninbihan

XLDnaute Impliqué
Re : Boucle sur plusieurs feuilles

Bonsoir le forum, bonsoir NatBru et Wilfried

J'ai revu ta macro, essaie cela:

Bonne soirée,

Ninbihan
 

Pièces jointes

  • Classeur1.xls
    26.5 KB · Affichages: 90
  • Classeur1.xls
    26.5 KB · Affichages: 98
  • Classeur1.xls
    26.5 KB · Affichages: 96

Luki

XLDnaute Accro
Re : Boucle sur plusieurs feuilles

Bonjour le fil,

Un complément de réponse à natbru:

Dans ta boucle, les feuilles ne sont pas activées, toute commande de sélection est dès lors impossible.(sauf pour la première, qui est active)

Il faut donc coder autrement, ce que te propose ninbihan, ou activer la feuille à chaque tour de boucle, ce qui est moins élégant et moins rapide!

Bonne journée
 

Discussions similaires

Réponses
21
Affichages
295
Réponses
2
Affichages
153

Statistiques des forums

Discussions
312 239
Messages
2 086 508
Membres
103 238
dernier inscrit
ds776001