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

[Réglé]Bloquer une cellule demain

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

nath67

XLDnaute Nouveau
Bonjour,

Imaginons un tableau dont les cellules seraient à remplir suivant les dates. Par exemple, aujourd'hui, nous sommes lundi, donc j'aimerai remplir la case qui correspond à lundi. Mais mardi, cette case ne doit plus être accessible. Car la case mardi, doit être remplie mardi...et ainsi de suite.
Y-a-t-il un moyen de verrouiller les cellules qui sont passées dans le temps, et cela, automatiquement?
Merci d'avance.
 
Dernière édition:
Re : Bloquer une cellule demain

ça ne fonctionne toujours pas...
Est-ce que tu peux me l'inclure dans le fichier test que je t'ai envoyé? Parce que je ne comprends pas, il ne me bloque pas mes saisies du lundi..
 
Re : Bloquer une cellule demain

Cela fonctionne chez moi.

Ou as tu mis le code de la macro de mon précédent message ?
Et comment fais-tu pour faire fonctionner la macro ?

Il faut que tu enregistres ton fichier soit en *.xls soit en xlsm (et pas en xlsx)
(pour pouvoir conserver les macros)

Je n'ai pas Excel 2007 ou 2010 mais Excel 2003 , donc je peux enregister qu'en xls.
 
Dernière édition:
Re : Bloquer une cellule demain

Je viens de tester ton fichier joint

J'ai fait : Outils/Macros/testV5 (je sélectionne testV5) puis je clique sur Exécuter

Résultat: les cellules B2:C6 deviennent rouge et barrées et la feuille est protégée et tu ne peux pas modifier ces cellules.

Tu as fait aussi ce que je viens de faire ?
 
Re : Bloquer une cellule demain

Je viens de le faire et ça marche...
Merci TempusFugit, c'est super!!, en fait j'avais pas exécuté la macro, je pensais que ça se faisait automatiquement... Mais merci beaucoup.
Il ne me reste maintenant plus qu'à automatiser mes dates.
 
Re : [Réglé]Bloquer une cellule demain

Tu devrais trouver de nombreuses discussions sur le forum ou il est question de dates et de numéro de semaine.
Pour trouver ces discussions, il faut utiliser le moteur de recherche interne du forum en cliquant sur la loupe en haut à droite de ton écran.

La macro testV5 ne fonctionnera en l'état que si tu changes pas les références des cellules.

En cas de changement, il faudra adapter la macro.

Une modification à faire pour éviter un bug si tu relances la macro une seconde fois
Code:
Sub testV6()
Dim a As Byte
ActiveSheet.UnProtect
Range("B2:O6").Locked = False
a = Weekday(Date, 2)
If a = 1 Then Exit Sub
With Range("B2:" & CStr(Switch(a = 2, "C6", a = 3, ":E6", a = 4, "G6", a = 5, "I6", a = 6, "K6", a = 7, "M6")))
With .Font
        .Strikethrough = True
        .ColorIndex = 3
    End With
    .Locked = True
End With
ActiveSheet.Protect
End Sub

Il possible d'automatiser l'éxécution de la macro à l'ouverture du fichier
Mais on verra cela plus tard, si tu es d'accord.
 
Dernière édition:
Re : [Réglé]Bloquer une cellule demain

Bonjour,
J'ai encore un souci...je viens de voir qu'aujourd'hui, mercredi, je peux encore modifier les informations de mardi..donc ça ne vas pas..
J'ai pourtant appliqué la dernière version que tu m'as donnée... et quand je relance la macro, j'ai un message d'erreur qui me dit "erreur d'exécution 1004 la méthode 'range' de l'objet '_global' a échoué"... que faire...?
merci d'avance
 
Re : [Réglé]Bloquer une cellule demain

Bonojur


Pourquoi avoir retirer les pièces jointes ?
Ton problème aurait pu servir peut-être à d'autres personnes sur le forum.¨
Bizarre ta notion du partage de connaissances sur un forum...

Comment faire pour tester maintenant ?
 
Re : [Réglé]Bloquer une cellule demain

Il y a une erreur de saisi (que tu aurais pu voir)
Est-ce qu'au moins tu as compris comment fonctionne la macro ?

Code:
Sub testV6()
Dim a As Byte
ActiveSheet.UnProtect
Range("B2:O6").Locked = False
a = Weekday(Date, 2)
If a = 1 Then Exit Sub
With Range("B2:" & CStr(Switch(a = 2, "C6", a = 3, "E6", a = 4, "G6", a = 5, "I6", a = 6, "K6", a = 7, "M6")))
With .Font
        .Strikethrough = True
        .ColorIndex = 3
    End With
    .Locked = True
End With
ActiveSheet.Protect
End Sub
 
Re : [Réglé]Bloquer une cellule demain

Merci, c'est vrai que ça marche mieux comme ça.
Oui, j'ai à peu près compris que la feuille est protégée et qu'en fonction du jour de référence qui commence en B2, va être bloqué un jour les plages jusqu'à c6, le jour d'après jusqu'à e6 et ainsi de suite. Puis que les cellules bloquées seront barrée (strike) et rouges (3).. c'est ça non?
 
- 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
3
Affichages
3 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…