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

Msgbox réccurente annuelle à date fixe

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

fenec

XLDnaute Impliqué
Bonjour le forum,

Une nouvelle fois besoin de vos lumières.

Devant archiver une feuille à date fixe annuellement (exemple le 30-09 de chaque année)

J'aimerais qu’un msgbox s’ouvre à l’ouverture de mon classeur.
« Nous sommes le 30-09-année en cours, vous devez archiver la Feuil5 »

Le problème c'est que j'aurai besoin qu'il s'affiche le 30 -09 de chaque année de façon récurrente.

En plus, si la personne n'ouvre pas le fichier le 30-09 elle ne verra pas le message. Donc comment dire a Excel de l'afficher à partir du 30-09 et qu'une fois qu'elle appuie sur OK dans le MSGBOX elle ne l'affiche plus jusqu'au 30-09 de l’année suivante ?

Dans un deuxième temps j’aimerais un autre msgbox me demandant si j’ai bien archivé cette feuille avant de fermer et qu'une fois qu'elle appuie sur OK dans le MSGBOX elle ne l'affiche plus jusqu'au 30-09 de l’année suivante également?


Cordialement

Fenec

J’ai bien trouvé un début de solution proposer par « Pierrot93 » mais ne parviens pas à l’adapter et ne sais comment mettre un lien sur ce code
 
Re : Msgbox réccurente annuelle à date fixe

Bonjour fenec,

Voici une proposition. Dans un onglet (que tu pourrais cacher), tu conserves 3 données :
1. la date d'archive requise (uniquement le mois et la date seront utilisés dans la macro)
2. si le fichier a été archivé (vrai ou faux)
3. la date de la dernière archive.

À l'ouverture et fermeture du fichier, une macro qui vérifie si le fichier est archivé ou non et si la date d'archive est atteinte. Aussi, si le fichier est archivé, on vérifie si ça fait plus que X jours qu'elle a été faite (j'ai mis 350 jours dans l'exemple).

On affiche le msgbox, si les bonnes conditions sont remplies.

A tester.
 

Pièces jointes

Re : Msgbox réccurente annuelle à date fixe

Bonjour le forum,Grand Chaman

Désolé pour la réponse tardive

Viens de tester, pas exactement mon souhait

A l’ouverture :

Si je clique ok j’archive alors que la journée n’est pas finie

Alors que l’msgbox ne devrait être qu’indicatif de la date « Nous sommes le 30-09-2012, vous devez

archiver »

A la fermeture :

Msgbox idem qu’à l’ouverture alors que je pensais plutôt à : » Avez-vous Archivé »

Vbok archiver

Une autre question

Dans la feuille cachée :

La date de la dernière archive ne s’inscrit pas automatiquement

Faut il que je la renseigne manuellement ?

Cordialement
 
Re : Msgbox réccurente annuelle à date fixe

Bonjour Fenec,

Voici une 2e version du fichier. Vois si ça te convient mieux.

Note que l'archivage du fichier devrait se faire dans une macro différente et à la fin de cette macro tu ajoutes 2 lignes de code pour indiquer la date de l'archivage et que le fichier a été archivé (dans la feuille cachée).

Je t'ai mis un exemple simple dans le fichier joint. Tu devras adapter à ton cas.

Lorsque tu quittes le classeur, le message affiché est différent mais rien n'oblige l'utilisateur à archiver le fichier.

A+
 

Pièces jointes

Re : Msgbox réccurente annuelle à date fixe

Bonjour le forum,Grand Chaman

Viens de voir ta réponse ,j'étais en déplacement désolé de répondre si tardivement.

Je teste des que possible et te tiens au courant.

Encore merci de me consacrer un peu de ton temps

Cordialement

Fenec
 
Re : Msgbox réccurente annuelle à date fixe

Bonjour le forum,Grand Chaman

Je reviens vers vous et toi " Grand Chaman " car je rencontre un problème.

Ta 2ème version correspond bien à mon attente mais je rencontre un problème que je n'arrive pas à résoudre.

Ayant mis ma macro d'archivage ( je pense comme il fallait) je ne comprends pas pourquoi le coloriage des cellules ne se fait pas dans le bonne feuille. Je retourne le problème dasn tous les sens mais la je suis perdu

Te joint un bout de mon fichier simplifié qui sera plus explicite

Si tu clic sur le bouton menu dans la feuille banque ,mon userform s'ouvre et lorsque tu clic sur quitter le programme et que tu archives le coloriage s'effectue sur ma feuille menu !!!

J'espère avoir été assez précis

Cordialement

Fenec
 

Pièces jointes

Re : Msgbox réccurente annuelle à date fixe

Bonjour fenec,

Probablement un problème dans ces lignes :

VB:
     Range("B18:J1000,L18:M1000").Select
    With Selection.Interior
        .ColorIndex = 2
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
    End With
    
   Range("B18").Select

Quand tu travailles avec 2 classeurs en même temps, assure toi de bien spécifier le classeur et l'onglet en avant de ton code. Ici, devant :
Code:
Range("B18:J1000,L18:M1000")

A vérifier.
 
Re : Msgbox réccurente annuelle à date fixe

Re,

Merci pour ta remarque en rajoutant la feuille cela a l'air de fonctionner
Sheets("Banque").Activate
Range("B18:J1000,L18:M1000").Select
With Selection.Interior
.ColorIndex = 2
.PatternColorIndex = xlAutomatic
End With
Finirais de tester demain et te tiens bien sur au courant

Encore un grand merci
 
Re : Msgbox réccurente annuelle à date fixe

Bonjour le forum,Grand Chaman

Après plusieurs test tout à l'air de fonctionner, j'ai modifié ainsi
Code:
ThisWorkbook.Sheets("Banque").Activate
     Range("B18:J1000,L18:M1000").Select
    With Selection.Interior
        .ColorIndex = 2
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
    End With

Mais je rencontre un autre soucis que je n'avais pas avant, à l'enregistrement seule une partie est prise en compte sur cette ligne

Code:
FullSavedFilename = SavePath & "Compta - " & Sheets("Banque").Range("G14").Value & " - " & Range("I14").Value

Ceci n'ai plus pris en compte aurais tu une idée du pourquoi?

Pardonne moi d'abuser




Code:
& Range("I14").Value
 
Re : Msgbox réccurente annuelle à date fixe

Bonjour le forum, Grand Chaman

Pardonne moi si j’abuse mais encore besoin de tes lumières

En effet, ayant mis comme date d’archive le 30-09-2012 qui est un dimanche j’ai volontairement fait exprès de ne pas archiver vu que l’on ne travaille pas le week-end et aujourd’hui à l’ouverture plus de message alors que le critère est FAUX dans la feuille masquée.

D’où ma nouvelle question :

Est-il possible d’affiche le message en tenant compte du critère :
Si date d’archivage tombe un samedi ou un dimanche, afficher le message le lundi ?

Cordialement

Fenec
 
Re : Msgbox réccurente annuelle à date fixe

Bonjour fenec,

En fait le problème n'est pas que la date d'archivage tombe un samedi ou un dimanche mais plutôt parce que nous avons changé de mois et somme en octobre maintenant. Erreur de ma part dans la condition pour afficher ou non le message. Tu dois remplacer une ligne dans le code:

VB:
' *** REMPLACER CETTE LIGNE:
   ' If Month(Date) >= Month(dDateArchive) And Day(Date) >= Day(dDateArchive) And bArchive = False Then
' PAR :
    If DateSerial(Year(Date), Month(Date), Day(Date)) >= DateSerial(Year(Date), Month(dDateArchive), Day(dDateArchive)) And bArchive = False Then

Désolé pour l'erreur... ça devrait fonctionner maintenant.
A+
 
Re : Msgbox réccurente annuelle à date fixe

Bonjour Grand Chaman

Je te remercie pour la correction ,en effet cela fonctionne

Un grand merci à toi pour le temps que tu m'as consacré

A+
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…