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

Effacer cellule avant fermeture

  • Initiateur de la discussion Initiateur de la discussion Pasqi
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

Pasqi

Guest
Bonjour,

Désolé si cette question a été de nombreuses fois posées.

J'ai un fichier contenant macros, modules etc et je voudrais juste rajouter un code qui efface la cellule B2 de chaque feuille avant la fermeture du fichier.

Code:
Sub Workbook_BeforeClose(Cancel As Boolean)
         'effacer cellule b2
         Cells("B2").ClearContents
         'Protéger les feuilles du classeur
         WsLock
         DeverouillerCellulesVides
End Sub

J'essaye de rajouter
'effacer cellule b2
Cells("B2").ClearContents
mais ça provoque une erreur.

Merci de votre aide.

Pasqi
 
Re : Effacer cellule avant fermeture

Bonjour Pasqui

Peut-être quelque chose comme ceci:
VB:
For i = 1 To Sheets.Count
sheets(i).Range("B2").ClearContents
Next

Bonne journée,

mth
 
Dernière édition:
Re : Effacer cellule avant fermeture

Re-bonjour,

Merci pour l'aide mais ça coince encore.

J'ai joint un fichier qui permettra de mieux trouver la solution.

Petite explication :

Le fichier est protégé lors de l'ouverture.
Pour le déprotéger, il faut écrire en minuscule "test" en B2 de l'une des feuilles et le classeur est déprotégé..
Pour reprotéger le classeur, il suffit soit de fermer le fichier et ça se reprotège automatiquement, soit d'effacer ce qu'il y a en B2 (c'est à dire le mot de passe pour déprotéger).
Ce que je voudrais c'est que la cellule B2 soir effacée DANS CHAQUE FEUILLE à la fermeture du fichier.

Merci encore pour votre aide

Pasqi
 

Pièces jointes

Re : Effacer cellule avant fermeture

re 🙂

Un autre essai ...
VB:
Sub Workbook_BeforeClose(Cancel As Boolean)
For i = 1 To Sheets.Count
Sheets(i).Unprotect "test"
Sheets(i).Range("B2").ClearContents
Sheets(i).Protect "test"
Next
End Sub

Bon après-midi,

mth
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

E
Réponses
4
Affichages
1 K
eldoctor62
E
R
Réponses
2
Affichages
789
recovery
R
M
Réponses
7
Affichages
9 K
mistick
M
B
Réponses
5
Affichages
2 K
BowserKar
B
G
Réponses
6
Affichages
5 K
guigus
G
Réponses
2
Affichages
21 K
A
Réponses
21
Affichages
12 K
Anais51
A
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…