macro "bloquer" plage de cells si date < aujourd'hui

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

RVL

XLDnaute Occasionnel
Bonjour le forum,

Je suis tjs aussi n - - (et c'est peu dire), avec les macros et j'aimerai réaliser une macro qui au demarrage d'un fichier,

bloque une plage de cellules si la cellule R1 (date) est < à la date du jour et ce sur les onglets qui commencent par "sem".

Merci pour votre aide

Mon essai:

Private Sub Workbook_Open()
'bloquer si date en R1< date du jour

Dim wks As Worksheet

For Each wks In Worksheets

If Left(wks.Name, 3) = "sem" Then

If Range(R1).Value < Date Then


Else

Range("C4:S14").Select
Selection.Locked = True

End If

End Sub
 
Re : macro "bloquer" plage de cells si date < aujourd'hui

bonjour

Par défaut toutes les cellules d'une feuille sont verrouillées, et pour que ce soit actif, il faut protéger la feuille.
Si on veut que seules les cellules d'une plage soient 'bloquées', il faudra alors déverrouillées toutes les autres.

A priori
Code:
Private Sub Workbook_Open()
'bloquer si date en R1< date du jour

 Dim wks As Worksheet

 For Each wks In Worksheets
      If Left(wks.Name, 3) = "sem" Then
           If wks.Range("R1").Value < Date Then
                wks.Protect
                'Range("C4:S14").Locked = True
           Else
                wks.Unprotect 
           End If
      End If
 Next

End Sub

A+
 
Re : macro "bloquer" plage de cells si date < aujourd'hui

Bonjour Paf,

D'abord merci pour ta réponse
Mais pas d'effet avec cette macro, donc j'ai rendu actif "'Range("C4:S14").Locked = True"
Et maintenant j'ai une erreur d'execution 1004 ?
Pour info j'ai 52 onglets nommés sem1 à sem52
sur chaque onglet j'ai deverrouillé la plage (C4:S14)
Et j'aimerai bloquer (reverrouiller) ces plages si date du jour > celle affichée en "R1"

slt,
RVL
 
Re : macro "bloquer" plage de cells si date < aujourd'hui

re,

sur chaque onglet j'ai deverrouillé la plage (C4:S14)
ben oui ..., c'estjustement ce qu'il ne fallait pas faire, puisque étant déverrouilée la protection de la feuille n'opère plus sur cette plage.
Donc cellules de la plage à remettre en verrouillé. puis utiliser le code du post #2 en désactivant la ligne
'Range("C4:S14").Locked = True


ou bien utiliser le code en maintenant active la ligne Range("C4:S14").Locked = True mais en la déplaçant avant la ligne de protection de la feuille.

A+
 
Re : macro "bloquer" plage de cells si date < aujourd'hui

Bonjour Paf,

Effectivement...., ne comprenant que partiellement le vba j'etais resté "bloqué" sur déverrouillage de cette plage.

Merci & Désolé pour cette réponse tardive.

Slt,

RVL
 
- 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

Discussions similaires

Réponses
7
Affichages
211
Réponses
6
Affichages
298
Réponses
4
Affichages
177
Réponses
4
Affichages
243
Réponses
3
Affichages
250
Réponses
16
Affichages
1 K
Retour