[RESOLU] : Fonction VBA Clear all sur plusieurs feuilles

joedu31

XLDnaute Nouveau
Bonjour,

J'ai un fichier avec plusieurs feuilles dedans et je souhaiterai procéder à la suppression du contenue de certaines cellules dans chacune des feuilles lorsque j'appuie sur un bouton en feuille 1. (Remise à zéro de la feuille)
J'ai réussi à appliquer cette formule
Code:
'Suppression Feuille1'

Range("E10:E18") = ""
Range("J10:J18") = ""
Range("K10:K18") = ""

mais uniquement dans la feuille 1, j'aimerai faire autant dans la feuille 2 par exemple (toujours à partir du bouton de la feuille1).

Comment peut-on relier les feuilles entre elles?

Merci à vous,
Joe
 
Dernière modification par un modérateur:

jecherche

XLDnaute Occasionnel
Re : Fonction VBA Clear all sur plusieurs feuilles

Bonjour,

Une suggestion ...

Code:
Sub MaMacro()
Dim Ws As Worksheet
  For Each Ws In ThisWorkbook.Worksheets
    Ws.Range("E10:E18") = ""
    Ws.Range("J10:J18") = ""
    Ws.Range("K10:K18") = ""
  Next Ws
End Sub


Jecherche
 

Marc L

XLDnaute Occasionnel
Bonjour,

une variante :

VB:
Sub Macro1()
         Dim Ws As Worksheet
         Application.ScreenUpdating = False
    For Each Ws In ThisWorkbook.Worksheets
             Ws.Range("E10:E18,J10:K18").ClearContents
    Next
         Application.ScreenUpdating = True
End Sub
_______________________________________________________________________________
Merci de cliquer sur J'aime ce post en bas à gauche de chaque message ayant aidé …

_______________________________________________________________________________
Je suis Paris, Charlie, Bruxelles, …
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Fonction VBA Clear all sur plusieurs feuilles

Bonjour.

Pour faire l'opération sur toutes les feuilles à partir de celle en 2ième position :
VB:
Sub Macro1()
Dim N As Long
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For N = 2 To ThisWorkbook.Worksheets.Count
   ThisWorkbook.Worksheets(N).Range("E10:E18,J10:K18").ClearContents
   Next N
Application.Calculation = xlCalculationAutomatic
End Sub
Remarquez le Application.Calculation = xlCalculationManual qui accélèrerait considérablement l'exécution si de nombreuses formules dans d'autre cellules s'appuyaient sur celles effacées. (C'est un autre fil de vous qui m'y fait penser)
 

joedu31

XLDnaute Nouveau
Re : Fonction VBA Clear all sur plusieurs feuilles

Ta fonction marche nickel :D Mais j'ai volontairement pas utilisé la fonction ".ClearContents" car elle ne permet pas de garder les couleurs de fond, c'est pour ça que j'ai utilisé la petite bidouille "".

J'envisage par la suite de renommer les feuilles et utiliser la fonction "nettoyage" uniquement sur certaines feuilles (ex: 1 et 3). Est possible d'adapter la formule en remplissant dans la macro par les noms de feuilles pour que je ne soit pas gêné si j'échange l'ordre des feuilles :)

Cf Doc joint

Merci pour votre aide
 

joedu31

XLDnaute Nouveau
Re : Fonction VBA Clear all sur plusieurs feuilles

Problème résolu avec ceci;
Code:
Application.ScreenUpdating = False

Sheets("Nom de feuille 1").Select
Range("E10:E18") = ""
 Range("J10:J18") = ""
 Range("K10:K18") = ""

Sheets("Nom de feuille 2").Select
Range("...") = ""
 
Application.ScreenUpdating = True

Merci à vous
 

Discussions similaires

Statistiques des forums

Discussions
312 528
Messages
2 089 362
Membres
104 142
dernier inscrit
aaaaa