Comparer des dates, par mois (VBA)

Radamenthis

XLDnaute Nouveau
Bonjour à tous, et merci de prendre quelques minutes pour m'aider à résoudre ce problème, qui devrait être assez simple pour votre niveau. :D

Voilà le concept.
Je créé un fichier recensant une liste de documents, qui dans le cadre de la qualité, doivent être revus et modifiés si besoin. Un planning de relecture est établi, et je souhaite qu'à chaque début de mois, lorsque j'ouvre le fichier, un pop up s'ouvre avec tous les fichiers à relire ce mois ci (si possible dans un seul pop up). Ce pop up servira plus tard à faire de l'envoi de mail.

Voici la structure du document :

Col A | Col B | Col C | Col D | Col E
N'° | Version | Nom | Diffusion | Date Relecture

Les données débutent ligne 6 jusqu'à la ligne 65


Commençons par le commencement, la comparaison des dates.

J'ai utilisé un mise en forme conditionnelle, pour sélectionner les lignes concernées.
=MOIS(E6:E66)&ANNEE(E6:E66)=MOIS(MAINTENANT())&ANNEE(MAINTENANT())

Cela me permet de mettre en évidence dans le fichier, les lignes de la colonne E qui ont le même mois et année qu'aujourd'hui.
Par contre je n'arrive pas à la réutiliser dans mon code, pour le pop up.


Je débute de cette façon :
Code:
Private Sub workbook_open()
Dim Dt As Range
    Dim Ws As Worksheet
 
    Set Ws = Worksheets("Référentiel")
 
    For Each Dt In Ws.Range("E6:E65")                                      
              If Dt < Date And Dt <> "" Then_                              
            MsgBox "" & Dt.Offset(0, -4) & Dt.Offset(0, -2)", " & _Dt & " ", _    
            vbExclamation, " Les documents à reprendre ce mois ci sont : "
    Next Dt

End Sub

Merci encore pour votre aide à venir ! :)

Aurélien
 
Dernière édition:

Grand Chaman Excel

XLDnaute Impliqué
Re : Comparer des date, par mois (VBA)

Bonjour Radamenthis et bienvenue sur le forum,

Voici une proposition à essayer :

VB:
Private Sub Workbook_Open()
   Dim Dt As Range
   Dim ws As Worksheet
   Dim sMess As String
   
   Set ws = Worksheets("Référentiel")
   
   For Each Dt In ws.Range("E6:E65")
      If Dt < Date And Dt <> "" Then
            sMess = sMess & Dt.Offset(0, -4) & " " & Dt.Offset(0, -2) & ", " & Dt & " " & vbNewLine
      End If
   
   Next Dt

   MsgBox sMess, vbExclamation, "Les documents à prendre ce mois-ci sont : "
End Sub
 

Radamenthis

XLDnaute Nouveau
Re : Comparer des date, par mois (VBA)

Merci pour le coup de main !

Le code que tu m'as donné me permet effectivement de concaténer tous les pop up dans un seul.
Petit bémol, pour l'instant, le code me retourne uniquement les mois de janvier 2014.
Le code ci dessous n'est donc pas bon. Pour rappel, je souhaite faire une comparaison de manière à n'avoir que les document du mois et de l'année en cours.

If Dt < Date And Dt <> "" Then

en gros il me faudrait

If (mois de Dt) = (mois de Date) Then
 
Dernière édition:

Radamenthis

XLDnaute Nouveau
Re : Comparer des dates, par mois (VBA)

Je vous joint le fichier avec la base de donnée et les codes.

Je n'ai pas réussi à faire mieux aujourd'hui. Le code actuel me donnes les dates inférieures à la date actuelle (Tous les janvier 2014 sont retournés)
.
J'ai tenté des comparaisons avec Month, DatePart etc, sans succès.

Je ne maîtrise pas très bien VBA, mais si vous avez des pistes, je suis preneur.

Donc à l'ouverture du fichier se déclenche ma MFC que j'ai réalisé avec l'enregistreur de macro (sûrement pas très propre pour les puristes, mais la formule fonctionne).
En suite, le code que l'on m'a donnée plus haut qui permet de concaténer dans un seul pop up, l'ensemble des document du mois en cours (bon le mois précédent, puisque je ne trouve pas la bonne formule)
 

Pièces jointes

  • Référentiel_2014.xls
    83.5 KB · Affichages: 49
  • Référentiel_2014.xls
    83.5 KB · Affichages: 59
  • Référentiel_2014.xls
    83.5 KB · Affichages: 53
Dernière édition:

Grand Chaman Excel

XLDnaute Impliqué
Re : Comparer des dates, par mois (VBA)

Bonjour,

Voici votre fichier en retour...
(j'ai aussi simplifié votre macro pour la mise en forme conditionnelle)

A+
 

Pièces jointes

  • Référentiel_2014.xls
    84.5 KB · Affichages: 59
  • Référentiel_2014.xls
    84.5 KB · Affichages: 58
  • Référentiel_2014.xls
    84.5 KB · Affichages: 66

Radamenthis

XLDnaute Nouveau
Re : Comparer des dates, par mois (VBA)

Merci pour le coup de main !

Pour aller plus loin, est il possible d'envoyer ce pop up par mail (son contenu tout du moins) ? Pas besoin d'envoyer le fichier par PJ.

Si tu penses que c'est jouable, je vais chercher de mon côté. (si tu as une piste je prends aussi ^^)
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 947
Membres
101 849
dernier inscrit
florentMIG