Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Répétition action sur plusieurs feuille d'un classeur

castor

XLDnaute Nouveau
Bonjour à tous,

Je cherche à écrire un macro qui permettrait de réaliser une même action (écriture caleur, mise en forme,...) sur plusieurs feuilles d'un même classeur mais pas toutes.
J'ai essayé ce code :
VB:
Dim fl As Worksheet
For Each fl In Worksheets
  If fl.Name <> "Récap" And fl.Name <> "Paramètres" Then 'attention aux noms de feuilles avec accent
      Range("B10:B1000").Select
      Selection.ClearContents
  End If
Next fl

Où Récap et Paramètres sont les feuilles où je ne veux pas réaliser mon action.
Or ça ne fonctionne pas, quand je la lance ça ne marche que sur la feuille active.
Quelqu'un a une idée ?

Je sais bien que je pourrais sélectionner toutes les feuilles concernées et faire mon action mais je pourrais avoir besoin de cette macro pour des actions plus spécifiques.
 

castor

XLDnaute Nouveau
Bon j'ai trouvé la réponse : il manque
VB:
fl.Select
avant mon Range...

En revanche, y a-t-il un autre moyen de travailler sur certaines feuilles et pas d'autres sans passer par
Code:
If fl.Name <> "Récap"
?

Si je crée d'autres feuilles dans mon classeur sur lesquelles je ne veux pas faire mon action répétitive, comment faire pour ne pas avoir à modifier ma macro à chaque fois ?
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Castor,
C'est normal, "Range("B10:B1000").Select" n'adresse que la feuille active. Il faut préciser la feuille sur laquelle s'applique l'action. Testez avec :
VB:
Sub essai()
Dim fl As Worksheet
For Each fl In Worksheets
  If fl.Name <> "Récap" And fl.Name <> "Paramètres" Then
     Sheets(fl.Name).Range("B10:B1000").ClearContents
  End If
Next fl
End Sub
 

castor

XLDnaute Nouveau
On a répondu en même temps Et oui le problème était bien la sélection de la feuille
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…