[Novice] Transformer une date format texte en date, et trier

chakrill -  
ccm81 Messages postés 11033 Statut Membre -

Bonjour,

J'ai besoin pour la première fois d'utiliser du VBA dans mon fichier Excel car notre logiciel a un bug que je souhaite contourner en attendant résolution.

Contexte : Notre logiciel exporte des dates d'échéances (sans année car pas besoin, juste le jour et le mois) de contrat dans une colonne qui a par défaut un format personnalisé, les dates sortent donc dans les cellules en texte => 0101 pour le 01/01, 1004 pour le 10/04 etc ...

Je voudrais coder une macro qui transforme ces textes en date réelle sans année (0101 en 01/01 donc), et qui par la suite va filtrer du fichier toute date qui n'est pas comprise dans les 30 jours suivant le jour où la macro est lancée (si je la lance le 01/10, je dois avoir toutes les date du 01/10 au 31/10 et rien d'autre).

Mon but serait de la mettre en autoopen pour que le tri se fasse à l'ouverture. 

Je ne sais pas par quel bout démarrer, j'ai fouillé tous les cours VBA sur internet et j'ai du mal à comprendre le fonctionnement même.

Si vous pouviez m'aider, j'en serai fortement reconnaissant ! 

Merci beaucoup !

2 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     

    Bonjour

    Une fonction qui transforme ta "date-texte" en date de l'année en cours

    Public Function cvsdate(d As String) As Date
    Dim j As Long, m As Long, a As Long, cvd As String
    a = Year(Date)
    m = Right(d, 2)
    j = Left(d, Len(d) - 2)
    cvd = CDate(j & "/" & m & "/" & a)
    cvsdate = cvd
    End Function

    Cdlmnt

    0
    1. chakrill
       

      Bonjour et merci pour votre réponse.

      Ai-je la possibilité d'ôter l'année en cours dans la fonction ou suis-je obligé de la laisser ? 

      Car celle-ci ne doit pas rentrer en jeu dans ma macro.

      Merci beaucoup pour votre aide !

      0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     

    Je voudrais coder une macro qui transforme ces textes en date réelle

    Recupérer une vraie date permet de trier tes dates, la macro te dispense de donner l'année

    On peut se contenter d'un entier mmjj en faisant attention au jour qui doit être sur deux chiffres, mais on complique pour pas grand chose.

    Cdlmnt

    0