Rendre une feuille inactive a partir d'une certaine date
arnoH
Messages postés
18
Statut
Membre
-
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je travaille actuellement sur un projet me demandant d'utiliser Excel, pour faciliter la saisie des données par les utilisateurs j'aurais besoin que ceux-ci ne puissent saisir des données que pendant des intervalles limités. Des intervalles d'heures mais également de dates
Je ne suis pas un expert en VBA mais j'ai déja réussi à m'arranger pour les intervalles d'heures ( If Time >= "08" And Time < "08:30:00" Then...)
Je me demandais comment je pouvais faire la même chose avec des dates pour rendre inactive la feuille.
Si je devais schématiser je cherche ceci :
IF date est entre 1aout et le 07aout THEN on désactive la feuille.
Cependant je ne connais pas la fonction me permettant de mentionner des dates, ni celle permettant de rendre inactive la saisie dans une feuille(je pense pouvoir trouver mais les dates je n'y parviens pas)
Quelqu'un pourrait m'indiquer vers ou chercher ? Ou simplement comment sélectionner une date.
En vous remerciant par avance, et a vot bon coeur !
Je travaille actuellement sur un projet me demandant d'utiliser Excel, pour faciliter la saisie des données par les utilisateurs j'aurais besoin que ceux-ci ne puissent saisir des données que pendant des intervalles limités. Des intervalles d'heures mais également de dates
Je ne suis pas un expert en VBA mais j'ai déja réussi à m'arranger pour les intervalles d'heures ( If Time >= "08" And Time < "08:30:00" Then...)
Je me demandais comment je pouvais faire la même chose avec des dates pour rendre inactive la feuille.
Si je devais schématiser je cherche ceci :
IF date est entre 1aout et le 07aout THEN on désactive la feuille.
Cependant je ne connais pas la fonction me permettant de mentionner des dates, ni celle permettant de rendre inactive la saisie dans une feuille(je pense pouvoir trouver mais les dates je n'y parviens pas)
Quelqu'un pourrait m'indiquer vers ou chercher ? Ou simplement comment sélectionner une date.
En vous remerciant par avance, et a vot bon coeur !
A voir également:
- Rendre une feuille inactive a partir d'une certaine date
- Comment faire une recherche à partir d'une photo - Guide
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Comment imprimer en a5 sur une feuille a4 - Guide
- Créer une icone à partir d'une image - Guide
- Bruler une feuille de laurier - Guide
3 réponses
Bonjour, qqchose comme ça ?
Ou simplement :
Mais la 1ere marche toute les année contrairement à la 2e
*Pensez mettre vos messages en [Résolu] et cliquer sur le + des conseil qui vous ont été utiles"
Sub desactiver()
If Day(Now) > 8 Then GoTo ACT
If Month(Now) <> 8 Then GoTo ACT
Sheets("Feuil1").Visible = 0
Exit Sub
ACT:
Sheets("Feuil1").Visible = -1
End Sub
Ou simplement :
Sub Desactiever()
If Date(Now) < "08.08.14" AND Date(Now) > "31.07.14" Then
Sheets("Feuil1").Visible = 0
Else
Sheets("Feuil1").Visible = -1
End Sub
Mais la 1ere marche toute les année contrairement à la 2e
*Pensez mettre vos messages en [Résolu] et cliquer sur le + des conseil qui vous ont été utiles"
Bonjour,
J'ai mis les dates en variables qu'elles soient au début pour faciliter leur mise à jour.
eric
Dim date1 As Date, date2 As Date
date1 = CDate("1/8/2014")
date2 = CDate("7/8/2014")
If (Date >= date1 And Date <= date2) Or (Time >= "08:00" And Time < "08:30:00") Then
Worksheets("Feuil1").Protect
Else
Worksheets("Feuil1").Unprotect
End If
J'ai mis les dates en variables qu'elles soient au début pour faciliter leur mise à jour.
eric
C'est parfait la seconde réponse c'est complètement ça !
Juste pour être certain d'avoir compris tout le code
Dim date1 As Date cela signifie que la variable date1 doit être considéré comme... une date !
Si je comprend bien ta ligne 4
- Si la date d'aujourd'hui est supérieure ou égale a DATE1 et que la date d'aujourd'hui est inférieure a DATE2 alors la feuille est protégée
C'est le contraire que je recherche (rendre active pendant la période) donc il me suffit de remplacer .Protect par .Unprotect
Juste pour être certain d'avoir compris tout le code
Dim date1 As Date cela signifie que la variable date1 doit être considéré comme... une date !
Si je comprend bien ta ligne 4
- Si la date d'aujourd'hui est supérieure ou égale a DATE1 et que la date d'aujourd'hui est inférieure a DATE2 alors la feuille est protégée
C'est le contraire que je recherche (rendre active pendant la période) donc il me suffit de remplacer .Protect par .Unprotect
Dim date1 As Date cela signifie que la variable date1 doit être considéré comme... une date !
C'est le typage des variables. Fortement conseiller de prendre cette habitude.
Elle doit recevoir une date et rien d'autre. Un peu contraignant au début mais fiabilise le code (en plus de le rendre plus rapide si tu choisis le bon type) et aide au déboguage.
eric
C'est le typage des variables. Fortement conseiller de prendre cette habitude.
Elle doit recevoir une date et rien d'autre. Un peu contraignant au début mais fiabilise le code (en plus de le rendre plus rapide si tu choisis le bon type) et aide au déboguage.
eric