Effacer cellule non verrouillé...

  • Initiateur de la discussion Initiateur de la discussion vievie
  • 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 !

V

vievie

Guest
Bonjour, voici ce que je veux faire...
j'ai des cellules active et des cellules verrouillé. Je veux qu'à la fin d'une utilisation, je puisse, en une seule étape, efface le contenu de mes cellules active. Je crois l'avoir déjà vu faire avec CTRL+E mais je ne sais pas comment configurer ma feuille afin que cela fonctionne....

Merci!!! 😉
 
Bonsoir vievie, le Forum,

Perso, je dirai que Ctrl+E appelle l'exécution d'une macro.
Ce que tu peux faire facilement avec l'enregistreur de macro Outils, Macro, Nouvelle macro. Tu lui affecte un raccourci clavier (ex : Ctrl+E)
Tu selectionne toutes tes cellules à effacer en maintenant la touche Ctrl enfoncée, puis Edition, Effacer contenu et tu arrête l'enregistrement. Tu peux également créer un bouton et clic droit Affecter une macro. Là tu sélectionne le nom donné à te macro et c'est tout.
C'est tout si tu enregistre ton classeur bien sur.
Bonne soirée et au plaisir.
 
Bonsoir Vievie, Marc, bonsoir le forum,

Cette petite macro devrait te convenir :


Sub Macro1()
Dim cel As Range 'déclare la variable cel
For Each cel In ActiveSheet.UsedRange 'boucle sur toutes les cellules utilisées de la feuille active
'en cas d'erreur passe à la ligne suivante
'(effacer une cellule protégée provoque une erreur)
On Error Resume Next
cel.ClearContents 'efface le contenu de la cellule
Next cel 'prochaine cellule de la boucle
End Sub

Mais si la plage utilisée est très grande cette macro se sera pas très rapide. Il serait préférable de définir la plage des cellules non verrouillées* puis de l'effacer :
Sub Macro2()
Dim maplage As Range 'déclare la variable maplage
'définit la variable maplage (à adapter à ton cas)
Set maplage = Application.Union(Range('A1:A10'), Range('C1:C10'))
maplage.ClearContents 'vide le contenu de la plage maplage
End Sub

*tu parles de cellules actives et de cellule verrouillées mais je pense qu'il est plus juste de parle de cellule non verrouillées et de cellules verrouillées car il n'y a qu'une seule cellule active, c'est celle qui a le focus.
 
- 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

Retour