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

Interdire modification de plusieurs cellules apres une durée donnée

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 !

loulou45200

XLDnaute Nouveau
Je recherche de l'aide pour la sécurisation d'un fichier excel que j'utilise pour le travail.
Je n'ai rien trouvé qui puisse m'aider dans le forum...
Pour m'expliquer, je souhaiterai empêcher la modification des cellules d'une feuille après une durée donnée (par exemple 1 jour) après l'avoir remplie.
Q'est-il possible de faire ?
Je vous remercie de l'éventuelle aide que vous pourrez m'apporter.

Cyril
 
Re : Interdire modification de plusieurs cellules apres une durée donnée

Salut loulou45200,

Une idée comme ça. Peut être que tu pourrais faire cela en utilisant la méthode suivante:

Code:
Application.OnTime Now + TimeValue("00:00:15"), "my_Procedure"

Dans mon exemple le code de my_procédure s’exécute 15 secondes après un évènement choisi.

En adaptant le code à ce que tu veux faire, on pourrait imaginer à l'ouverture de ton fichier que si la différence entre la date et heure de l'ajout de tes données et l'heure qu'il est à l'instant où tu ouvres ton fichier, tu vérouilles ces cellules via une procédure placée dans un module standard.

En espérant avoir été assez clair.

Bon courage 🙂

Air'one
 
Re : Interdire modification de plusieurs cellules apres une durée donnée

Bonsoir,
La protection suppose l'activation des macros aux préalable !
Dans cet exemple
- dans un premier temps, si les macros ne sont pas activées, la feuil1 restera invisible
Dans le module de ThisWorkbook
Code:
Private Sub Workbook_Open()
With Sheets(1)
    .Visible = True
End With
End Sub


Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets(1).Visible = xlVeryHidden
End Sub
- dans un second temps, si tu souhaites afficher la feuille sans permettre la modification,
on récupère la date de création du classeur, on la compare avec la date actuelle et l'on protège la feuille par mot de passe si elle est supérieur à +1

Code:
Private Sub Workbook_Open()
Dim x As Date
With Sheets(1)
    .Visible = True
    x = DateValue(ActiveWorkbook.BuiltinDocumentProperties(11)) + 1
    If VBA.Date > x Then
        .Cells.Locked = True
        .Protect "loulou"
    End If
End With
End Sub
A+
kjin
 
- 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
959
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…