Effacer le contenu de mêmes cellules sur plusieurs feuilles

Bonjour,

je souhaite créer une macro pour effacer le contenu de plusieurs cellules sur différentes feuilles, appelé "MiseaZero"

Dans mon fichier les cellules concernées pour toutes les feuilles sont : K15:K42

J'ai essayé plusieurs formule avec Array mais ca plante à chaque fois

Merci de votre aide

Très bonne journée

35classeur2.xlsx (153.65 Ko)

Bonjour

Il suffit de sélectionner toutes les feuilles, puis la plage et la touche Suppr : 3 secondes chrono

merci pour votre retour,

mais je souhaite creer un bouton et y affecter une macro.

Cette manipulation va être effectué très régulièrement, par différentes personnes, je veux donc éviter les manipulations inutiles

Ne le prenez pas mal, mais à force de créer des macros pour la moindre fonctionnalités excel, vous n'allez pas faire progressez vos équipes. Et vous allez totalement les rendre indépendants de vous. Je ne penses pas que ce soit compliquer de leurs montrer ce genre de manipulations ( ou bien du trie pour votre autre sujet) qui leur servira pour d'autre fichiers où vos macros ne seront pas présentent.

Cdt

Bonjour

Macro a mettre dans un module et l'affecter a un bouton

Cordialement

Sub test()
For x = 1 To Worksheets.Count
Worksheets(x).Range("K15:K42").ClearContents
Next x
End Sub

Merci Joco7915 , malheureusement ca ne fonctionne pas !

Bonjour

Ton fichier exemple tu cliques sur le bouton Effacer de la feuille Expédition et tu verras que cela fonctionne

58classeur2-2.xlsm (160.14 Ko)

Oui dans celui que j'ai mis en pièce jointe mais pas dans le classeur d'origine.

Est dû au fait que le classeur d'origine contient plus de feuille ?

Je suis perdue

Bonjour NadegeEP

Tout dépend si tu as plusieurs classeurs ouverts

Attention, La collection WorkSheets appartient au classeur actif

Si dans la macro on utilise la notion de parent alors il n'y a peut-être pas d'erreur.

Le parent de WorkSheets peut être Workbook(nom_du_classeur) ou ThisWorkbook ou ActiveWorkbook

J'opterais en réutilisant le code de Joco

Sub test()
if MsgBox("voulez-vous effacer les données K15:K42 dans " & ThisWorkBook.Path & "\" & ThisWorkbook.Name, vbOKCancel) = vbOK Then
For x = 1 To ThisWorkbook.Worksheets.Count
ThisWorkBook.Worksheets(x).Range("K15:K42").ClearContents
Next x
End if
End Sub

pour mettre

Je n'arrive à le faire fonctionner dans mon classeur initial.

Surement dû aux 4 premières feuilles du classeur, non?

La macro que je veux mettre en place ne concerne que les feuilles de 5 à 16.

Y a t il une modification possible pour prendre en compte cette contrainte ?

Modifie la macro en mettant celle-ci

Et enregistres le fichier au format XLSM

Sub test()
For x = 5 To Worksheets.Count 'commence a effacer a partir de la feuille 5
Worksheets(x).Range("K15:K42").ClearContents
Next x
End Sub

Merci beaucoup pour votre aide. Mais ça ne fonctionne pas.

Je n'arrive pas à comprendre pourquoi cela fonctionne sur le fichier joint et pas sur l'initial.

Il est enregistré au bon format.

Dernière question et je pense que je vais laisser tomber...Est ce que les feuilles maquées peuvent être bloquantes ? J'en ai 5 masqués et protégés par mot de passe

Si tu as des feuilles protégées c'est normal que ça beug puisque la macro ne peut pas effacer les cellules concernées

Je me doutais bien que ça allait bloquer la formule. Il faut que je trouve une formule pouvant identifier les feuilles concernées seulement.

Soit de 5 à 16

Dans les feuilles qui sont protégées ,si tu peux les déprotéger

Pour chaque feuille tu>>>Cliques sur Révision>>>Tu sélectionnes ta plage K15:K42 >>> Ensuite clique sur Autoriser la modification des plages

>>>Clique sur "nouvelle">>>Tu cliques sur OK et tu protèges ta feuille

Cela va les modifier automatiquement en même temps que les autres et je ne veux pas. Les seules feuilles à modifier sont celles dans le fichiers joint précédemment. Oh le casse tête !

Tu fais la modif uniquement sur les feuilles que tu dois effacer les plages K15:K42

Bonjour NadegeEP, le forum

Essaie peut-être le code suivant :

Dim xWs As Worksheet
Set xWs = Activesheet

For Each xWs In ActiveWorkbook.Sheets

If xWs.Visible Then xWs.Select Replace:=False
Next
Range ("K15:K42").Select
Selection.Clearcontents

End Sub

Cordialement,

Rechercher des sujets similaires à "effacer contenu memes feuilles"