Nouveau mot de passe en fonction de la date

Salut le forum !

Je vous explique mon problème, j'ai un fichier excel avec différentes feuilles. J'ai fait une macro pour qu'à chaque fermeture du fichier il s'enregistre et protège chaque feuille avec un mot de passe différent pour chacune.

Ce que j'essaye de faire c'est que lorsqu'on arrive à une certaine date par exemple du 25 au 31, il enlève les mots de passe présent et les remplace par un nouveau mot de passe que seul moi connaîtrais afin d'éviter toute modification.

Pouvez-vous m'aider ?

Je vous mets mon fichier en pièce jointe avec une tentative de code VBA

Bonjour Valdu26 le forum

tu écris:

les remplace par un nouveau mot de passe que seul moi connaîtrais afin d'éviter toute modification.

Mais tu veux donc le faire en manuel et non automatiquement????

en tout état de cause sans savoir comment tu veux composer tes mots de passe il est impossible de te le faire d'une manière automatique, d'autant que tu as une fonction qui est propre au mots de passe actuel

alors franchement je ne vois pas ce que tu veux.

Explique clairement ce que tu veux obtenir et on va te faire c'est pas un souci, mais explique clairement et surtout quel est la création de tes nouveaux mot de passe

a+

Papou

Aujourd'hui chaque feuille est modifiée par des personnes désignées qui ont chacune un mot de passe différents.

Ce que je veux c'est pouvoir dire que du 25 au 30 (par exemple) je veux que ça mette automatiquement un autre mot de passe (que j'aurais choisi) pour éviter que les gens ne fassent des modifications dans le classeur.

Mais je ne sais pas si c'est possible

Re bonjour Valdu26 le forum

Explique clairement ce que tu veux obtenir et on va te faire c'est pas un souci, mais explique clairement et surtout quel est la création de tes nouveaux mot de passe

Je t'ai clairement écrit que ce n'est pas un souci, mais qu'il faut nous dire comment tu vas générer tes mots de passe

et ensuite je te le fais, si je n'ai pas ta manière de faire je ne peux pas t'aider

a+

Papou

Re bonjour Valdu26 le forum

Explique clairement ce que tu veux obtenir et on va te faire c'est pas un souci, mais explique clairement et surtout quel est la création de tes nouveaux mot de passe

Je t'ai clairement écrit que ce n'est pas un souci, mais qu'il faut nous dire comment tu vas générer tes mots de passe

et ensuite je te le fais, si je n'ai pas ta manière de faire je ne peux pas t'aider

a+

Papou

Re-bonjour Papou

Je pense que je ne suis pas clair apparemment.

Ce que j'ai envie c'est que du 25 au 31 par exemple, excel verrouille les feuilles avec le code : AAAA par exemple, et qu'une fois que le 31 est passé, il arrête de verrouiller les feuilles avec ce code là et qu'il revienne aux initiaux de chaque feuille .

Clairement :

Du 1er au 25 :

  • Feuille 1 mdp = BUFRA2020!
  • Feuille 2 mdp = CDE2040@"
  • Feuille 3 mdp =CVA2042$
  • Feuille 4 mdp =JEN2048#
  • Feuille 5 mdp = JEN2048#
  • Feuille 6 mdp = IIN2020!
  • Feuille 7 mdp = CVA2041$
  • Feuille 8 mdp = HSE2045?
  • Feuille 9 mdp = CVA2042$
  • Feuille 10 mdp = NBR2058$

Du 25 au 31 :

Toutes les feuilles mdp = AAAA

Puis du 1 au 25 du mois d'après :

  • Feuille 1 mdp = BUFRA2020!
  • Feuille 2 mdp = CDE2040@"
  • Feuille 3 mdp =CVA2042$
  • Feuille 4 mdp =JEN2048#
  • Feuille 5 mdp = JEN2048#
  • Feuille 6 mdp = IIN2020!
  • Feuille 7 mdp = CVA2041$
  • Feuille 8 mdp = HSE2045?
  • Feuille 9 mdp = CVA2042$
  • Feuille 10 mdp = NBR2058$

Et ainsi de suite

Est ce que c'est plus clair comme ça ?

Bonjour,

paritec va sûrement te répondre mais en attendant, je dirais qu'il faut que tu prends le problème à l'envers.

A ta place je ne créerais pas une "changement" de mdp du 25 au 31.

A la place, au moment où de définir les mdp BUFRA2020! etc. je dirais :

SI la date du jour est inférieur au 25, alors mdp 1 = BUFRA, mdp 2 = CED etc.

SINON mdp de toutes les feuilles = AAAA

Paritec, ça m’intéresse de voir comment tu traiteras le problème

A+ le forum

Bonjour,

paritec va sûrement te répondre mais en attendant, je dirais qu'il faut que tu prends le problème à l'envers.

A ta place je ne créerais pas une "changement" de mdp du 25 au 31.

A la place, au moment où de définir les mdp BUFRA2020! etc. je dirais :

SI la date du jour est inférieur au 25, alors mdp 1 = BUFRA, mdp 2 = CED etc.

SINON mdp de toutes les feuilles = AAAA

Paritec, ça m’intéresse de voir comment tu traiteras le problème

A+ le forum

Bonjour SlimShady (beau pseudo au passage )

Ta solution me parait bien également, mais comment tu ferais pour dire que tu veux que ce soit tous les 25 qu'il change de mot de passe ?

Bonjour SlimShady (beau pseudo au passage )

Bonjour et merci

En fait en y repensant, je me dis que prendre le problème dans un sens ou dans l'autre revient absolument au même

Donc tu pourrais commencer ta macro par quelque chose comme :

If Application.Evaluate("DAY(TODAY())") > 25

==> Si le jour actuelle est supérieur à 25, alors TON TRAITEMENT pour passer à un mdp AAAA, sinon ta fonction avec les autres mdp

ou alors faire l'inverse :

If Application.Evaluate("DAY(TODAY())") < 26

==> Jusqu'au 25, fonction mdp normale, sinon mdp AAAA

Je ne sais pas trop comment expliquer ça

Dis moi si je ne suis pas clair

Bonjour SlimShady (beau pseudo au passage )

Bonjour et merci

En fait en y repensant, je me dis que prendre le problème dans un sens ou dans l'autre revient absolument au même

Donc tu pourrais commencer ta macro par quelque chose comme :

If Application.Evaluate("DAY(TODAY())") > 25

==> Si le jour actuelle est supérieur à 25, alors TON TRAITEMENT pour passer à un mdp AAAA, sinon ta fonction avec les autres mdp

ou alors faire l'inverse :

If Application.Evaluate("DAY(TODAY())") < 26

==> Jusqu'au 25, fonction mdp normale, sinon mdp AAAA

Je ne sais pas trop comment expliquer ça

Dis moi si je ne suis pas clair

C'est assez clair, mais le problème que je vois c'est comment lui faire comprendre qu'une fois que le 31 il repasse aux autres mots de passe ?

Une fois passée le 31, tu reviens au 1.. donc inférieur à 26.

En gros, le schema de ta macro doit être :

Si Jour actuelle < 25 Alors

Ton traitement avec les mdp BUFRA2020! etc.

Sinon

Tous les mdp deviennent AAAA

(ou l'inverse)

Une fois passée le 31, tu reviens au 1.. donc inférieur à 26.

Effectivement

Je vais tenter ! Merci pour l'astuce en tout cas.

Bonjour SlimShady (beau pseudo au passage )

Bonjour et merci

En fait en y repensant, je me dis que prendre le problème dans un sens ou dans l'autre revient absolument au même

Donc tu pourrais commencer ta macro par quelque chose comme :

If Application.Evaluate("DAY(TODAY())") > 25

==> Si le jour actuelle est supérieur à 25, alors TON TRAITEMENT pour passer à un mdp AAAA, sinon ta fonction avec les autres mdp

ou alors faire l'inverse :

If Application.Evaluate("DAY(TODAY())") < 26

==> Jusqu'au 25, fonction mdp normale, sinon mdp AAAA

Je ne sais pas trop comment expliquer ça

Dis moi si je ne suis pas clair

Dernière question, comment tu ferais si les dates c'était un intervalle entre le 5 et le 10 ?

If Application.Evaluate("DAY(TODAY())") > 5 And Application.Evaluate("DAY(TODAY())") < 10 Then...

A adapter en fonction de si les jours 5 et 10 sont inclus

If Application.Evaluate("DAY(TODAY())") > 5 And Application.Evaluate("DAY(TODAY())") < 10 Then...

A adapter en fonction de si les jours 5 et 10 sont inclus

ok ! je ne savais âs que tu pouvais faire application 2 fois !

Je te remercie

Bonsoir Messieurs

je viens de lire ta réponse à l'instant, Valdu 26, je n'ai pas le temps là cet après midi, mais je te fais cela demain matin

a+

Papou

Bonjour SlimShady69 valdu26 le forum

Ton fichier en retour avec ce que tu souhaites

si tu mets la date de ton PC du 25 à la fin du mois 28 si c'est février, tu auras à l'ouverture de ton fichier toutes tes feuilles (sauf ta feuille ajout_suppression qui conservera son mot de passe initial), auront le mot de passe "AAAA".

Si tu passes la fin du mois, tes mots de passe reviendront ta liste normale

à toi de tester

a+

Papou

Rechercher des sujets similaires à "nouveau mot passe fonction date"