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.NET Discussion :

Comparaison de deux dates


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    etudiante
    Inscrit en
    Avril 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : etudiante

    Informations forums :
    Inscription : Avril 2013
    Messages : 20
    Par défaut Comparaison de deux dates
    Bonjour je susis actuellement en stage et j'ai quelques petiters interrogation sur comment comparer deux dates. J'ai essayé plusieurs codes mais cela fonctionne pas je vous ai mis ci dessous mon dernier code. Sur ma feuille excel il y a toutes les intervention qui ont été effectué depuis 4 ans . a la demande de l'utilisateur il doit afficher toutes les interventions pour lesquelles sa date qqui ets dans la colonne 5 est compris entre l'intervalle que l'utilisateur saisie. JATTENDS PATIEMMENT VOS REPONSES PARCE QUE JE SUIS DANS UNE IMPASSE ....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
         Dim i As Integer
        Dim stock As Date
        Dim DateDebut As Date
        Dim DateFin As Date
        Dim papi As Integer
     
        fin = Range("A1").End(xlDown).Row
     
        DateDebut = InputBox("Entrer la date ", " Date de debut d'intervalle ", "01/01/2013 ")
     
        MsgBox "Bonjour" & Chr(10) & "La date est " & DateDebut
     
        DateFin = InputBox("Entrer la date ", " Date de fin d'intervalle ", "01/01/2013 ")
     
        MsgBox "Bonjour" & Chr(10) & "La date est " & DateFin
     
        For i = 2 To fin
          Cells(i, 5).Select
          stock = Cells(i, 5).Date.Value
          If (stock <= DateDebut) Or (stock >= DateFin) Then
            Rows(i).Select
            Selection.Delete Shift:=xlUp
            papi = Range("A1").End(xlDown).Row
            fin = papi
          End If
        Next i

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 206
    Par défaut
    bonjour sadhya,

    Tu a la fonction Date.compare(date1, date2) ou date1.CompareTo(date2)

  3. #3
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2012
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2012
    Messages : 337
    Par défaut
    Sur ma feuille excel
    Ajouter par code un filtre de dates sur la colonne ???

  4. #4
    Membre averti
    Femme Profil pro
    etudiante
    Inscrit en
    Avril 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : etudiante

    Informations forums :
    Inscription : Avril 2013
    Messages : 20
    Par défaut
    Merci pour vos réponses mais la fonction date.compare va t elle comparer si une date est supérieur ou égale à une autre ou sil elle est inférieur ou égale à une autre .

    J'ai déjà utilisé la touche F1 ça me renvoi la meme erreur 13 pour la ligne
    stock = Cells(i,5).Value
    ça ne veut pas stocker dans stock la date qui est dans la cellule .

    Par contre j'aimerais savoir si vous pouvez me dire si il est possible de coder l'intitialisation des colonnes, c'est-à-dire pour la colonne 1,2,3 et 6 format de cellule standard et la colonne 4 et 5 format de cellule date ???

    Dans l'attente de lire vos réponses et meerci encore pour cette aide .

  5. #5
    Membre actif
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2006
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2006
    Messages : 129
    Par défaut
    la fonction...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateDiff(unit, date1, date2)
    si tu veux un ecart en jour :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    'Ecart en jours
    DateDiff("d", date1, date2)
     
    'Ecart en mois
    DateDiff("M", date1, date2)
     
    'Ecart en année
    DateDiff("y", date1, date2)
    si date1 > date2, le résultat est négatif.

  6. #6
    Membre averti
    Femme Profil pro
    etudiante
    Inscrit en
    Avril 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : etudiante

    Informations forums :
    Inscription : Avril 2013
    Messages : 20
    Par défaut
    Salut,
    Merci pour ta réponse prologic mais ce n'est pas ce type de comparaison que je veux faire la comparaison que je souhaite faire est celle ci :
    Voici les informations que je souhaite avoir sur ma page excel à la fin :DateDebutD'intervalle < DateDansCellule < DateFinDintervalle

    Pour y arriver je procède comme ça :
    Donc Si DateDansCellule < DateDebutDintervalle alors on supprime la ligne

    et
    Si DateDansCellule > DateFinDintervalle alors on supprime la ligne
    C'est ce que j'essaye de faire avec mon code

  7. #7
    Membre averti
    Femme Profil pro
    etudiante
    Inscrit en
    Avril 2013
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : etudiante

    Informations forums :
    Inscription : Avril 2013
    Messages : 20
    Par défaut
    Voilà j'ai un peu bidouiller mais ça fonctionne toujours pas . Je suis parti sur une idée ou je fais le test pour savoir si la date dans la cellule est comprise dans l'intervalle de l'utilisateur ensuite j'écris vrai dans une colonne pour toutes ces dates et faux pour toutes les dates hors intervalle.
    Ensuite je veux supprimer toutes les lignes qui ont faux à la colonne huit mais là mon programme fait ce qu'il veut. Pouvez vous me proposé des solutions pour que le programme suprrime toutes les lignes en questions svp ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    Sub ETAPE3()
     
    Dim i As Integer
    Dim DateDebut As Date
    Dim DateFin As Date
     
     
    Columns("D:E").Select
    Selection.NumberFormat = "dd/mm/yyyy"
     
    fin = Range("A1").End(xlDown).Row
     
    DateDebut = InputBox("Entrer la date ", " Date de debut d'intervalle ", "01/01/2013 ")
     
    MsgBox "Bonjour" & Chr(10) & "La date est " & DateDebut
     
    DateFin = InputBox("Entrer la date ", " Date de fin d'intervalle ", "01/01/2013 ")
     
    MsgBox "Bonjour" & Chr(10) & "La date est " & DateFin
     
    For i = 2 To fin
    Cells(i, 5).Select
     
    stock = Cells(i, 5).Value
     
     
    If stock > DateDebut And stock < DateFin Then
    Cells(i, 7) = True
    End If
    Next i
     
    For i = 2 To fin
     
    If Cells(i, 7) <> True Then
    Cells(i, 8) = False
    End If
     
    Next i
     
    For i = 2 To fin
     
    If Cells(i, 8) = False Then
    Rows(i).Delete
    End If
     
    Next i
     
    End Sub

    ATTENTION : CE COMMENTAIRE EST POSTE SUR UN AUTRE FORUM POUR MAXIMISER MES CHANCES DE REPONSES QUE LES PERSONNES QUE CA DERANGENT S'ABSTIENNENT DE ME REPONDRE SIL VOUS PLAIT SI JE VIENS LA CEST QUE JE SUIS VRAIMENT BLOQUEE ET QUE J'AI VRAIMENT BESOIN DAIDE J'AI PAS BESOIN QUE L'ON ME MEPRISE PARCE QUE JE SOUHAITE AVOIR PLUSIEURS REGARDS SUR MON PROBLEME

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

Discussions similaires

  1. [MySQL] comparaison de deux dates dans un ordre sql
    Par opeo dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 21/03/2007, 14h34
  2. comparaison de deux dates
    Par gloglo dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 16/01/2007, 13h39
  3. Comparaison entre deux dates dans une table
    Par Biskot75 dans le forum Access
    Réponses: 6
    Dernier message: 19/09/2006, 11h16
  4. comparaison de deux dates
    Par colombe dans le forum Bases de données
    Réponses: 4
    Dernier message: 13/07/2006, 18h44
  5. [VB6] Comparaison de deux dates dans une requête
    Par paradeofphp dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 07/06/2006, 19h45

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