vider les cellules déverrouillées des collonnes déterminées

  • Initiateur de la discussion Initiateur de la discussion pascal cfp 49
  • 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

pascal cfp 49

Guest
Bonsoir,

Je recherche un code VBA pour vider les cellules déverrouillées dans les colonnes A, C et I sur une feuille qui comporte environ 4000 lignes.

Merci d"avance

Pascal cfp 49
 
Re : vider les cellules déverrouillées des collonnes déterminées

Bonjour pascal cfp 49,

Tu peux tester le code ci dessous, où Zone est la plage de cellules non verrouillées des colonnes A, C et I de ta feuille :
Code:
Sub toto()
Dim c As Range, Zone As Range
For Each c In Intersect(ActiveSheet.UsedRange, Range("A:A,C:C,I:I")) 'Pour ne garder que les cellules verrouillées des colonnes A, C et I
    If Not (c.Locked) Then
      If Not Zone Is Nothing Then
        Set Zone = Union(c, Zone)
      Else
        Set Zone= c
      End If
    End If
  Next c
  Zone.ClearContents [COLOR="yellowgreen"]' Par exemple pour effacer son contenu[/COLOR]
End Sub
 
Dernière édition:
Re : vider les cellules déverrouillées des collonnes déterminées

Bonjour à tous
On pourra préférer :
Code:
Sub tata()
Dim c As Range
  With Application: .ScreenUpdating = 0: .Calculation = -4135: .EnableEvents = 0: End With
  For Each c In Intersect(ActiveSheet.UsedRange, Range("A:A,C:C,I:I"))
    If Not (c.Locked) Then c.ClearContents
  Next c
  With Application: .EnableEvents = 1: .Calculation = -4105: .ScreenUpdating = 1: End With
End Sub
(Testé)​
ROGER2327
#4747


Dimanche 15 Sable 138 (, )
25 Frimaire An CCXIX
2010-W50-3T00:20:21Z
 
Re : vider les cellules déverrouillées des collonnes déterminées

Bonjour à tous
On pourra préférer :
Code:
Sub tata()
Dim c As Range
  With Application: .ScreenUpdating = 0: .Calculation = -4135: .EnableEvents = 0: End With
  For Each c In Intersect(ActiveSheet.UsedRange, Range("A:A,C:C,I:I"))
    If Not (c.Locked) Then c.ClearContents
  Next c
  With Application: .EnableEvents = 1: .Calculation = -4105: .ScreenUpdating = 1: End With
End Sub
(Testé)​
ROGER2327
#4747


Dimanche 15 Sable 138 (, )
25 Frimaire An CCXIX
2010-W50-3T00:20:21Z

Merci Sofmama et Roger de votre aide , quelle maîtrise du code Vba, je vous admire

Sans vous et ce forum je ne pourrais pas travailler efficacement

Cordialement
Pascal cfp 49
 
- 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

  • Question Question
Microsoft 365 agrandir la liste
Réponses
21
Affichages
643
Réponses
15
Affichages
782
Retour