IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

[VB6] Dates


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 152
    Par défaut [VB6] Dates
    Bonjour.
    J'ai un fichier identifié par une date au format jjmmaa
    J'aimerai que mon programme supprime automatiquement le ou les fichiers générés 30 jours avant (un mois donc)
    Nous sommes le 12 mai donc 1205206. Comment puis je faire pour demander à mon programme de tester si il y a des fichiers se nommant 120406 ?

  2. #2
    Membre émérite
    Avatar de Catbull
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    542
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 542
    Par défaut
    Il suffit de soustraire 100 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    strDate = "120506"
     
    MsgBox CStr(CLng(strDate) - 100)
    Pour connaitre l'existence d'un fichier, tu peux utiliser la fonction Dir

    Edit : Ce code est n'est pas valide pour le passage d'une année à l'autre. Donc ce code n'est pas utilisable pour les mois de janvier.

  3. #3
    Membre éclairé Avatar de riesseg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    415
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 415
    Par défaut
    moi je pensais deja a un datediff ou un truc du genre...

    mais la methode de Catbull est radicale ^^

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 152
    Par défaut
    J'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If Dir$(Chemin & "\" & strdate & "rapport.txt") <> vbNullString Then
             Kill (Chemin & "\" & strdate & "rapport.txt")
    j'aimerai que "strdate" contienne la date - 1 mois
    donc dans le cas d'aujourdhui j'aimerai que strdate contienne 120406.
    EN fait j'aimerai soustraire un mois mais je ne sais pas comment faire

  5. #5
    Membre éclairé Avatar de riesseg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    415
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 415
    Par défaut
    mouarf, dans ce cas, mieux vaut utiliser DateDiff (fonction qui permet de faire la difference entre 2 dates et d'avoir le resultat en en annees, nois, semaines, jours, heures, minutes ou secondes.)

    tu chope le nom du dossier
    tu le fout en format date
    tu compare cette date tampon avec la date du jour
    tu supprime ou pas
    tu recommence

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 152
    Par défaut
    Lorsque je met ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ladate = Format(Now, "ddmmyy")
    datebis = Format("120406", "ddmmyy")
    MsgBox DateDiff("m", ladate, datebis)
    il me donne 5267 comme réponse ... il y a un problème ou c'est moi qui ne sais pas me servir de la fonction datediff ?

  7. #7
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    dateDiff permet de connaitre l'intervalle de temps entre 2 dates , c'est pas cela que tu ve?

    tiens avec une combinaison de DateSerial... fonction te donnant la date actuelle - 1 mois :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Sub test()
    Dim dMoins1mois As Date
    Dim d As Date
    d = Now
    dMoins1mois = DateSerial(Year(d), Month(d) - 1, Day(d))
    MsgBox dMoins1mois
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB6] [Dates] [Jour de la semaine]
    Par mkiba dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 06/11/2008, 10h04
  2. [VB6] Date dans un MSHFlexGrid
    Par Mat_76 dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 03/05/2007, 16h50
  3. [VB6] Date et Format
    Par colooo dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 11/07/2006, 12h23
  4. [VB6] Date modification fichier FTP
    Par KrusK dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 27/06/2006, 09h41
  5. [VB6] Date comme critère dans un datareport
    Par philippef dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 06/04/2006, 13h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo