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

Macros et VBA Excel Discussion :

[vba-EXCEL] extraction de dates


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de lio62
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 472
    Par défaut [vba-EXCEL] extraction de dates
    Bonsoir
    j'ai une feuille"bd" qui contient des dates en colonne "B" sous cette forme JJ/MM/AAAA, je voudrai extraire ces données en fonction du mois et de l'année.

    Pour l'instant j'y arrive avec le type de travail et les équipes intervenantes mais pour les dates je coince



    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
    49
    50
    Sub test()
    Dim tabonglet As Variant
    Dim onglet As String
    Dim n As Long
    Dim j As Byte, w As Byte
    Dim a As Integer, b As Integer, c As Integer, d As Integer, e As Integer, f As Integer, g As Integer, h As Integer, r As Integer
     
     
    Dim rng As Range
     
    tabonglet = Array("MAINTENANCE", "DEPANNAGE", "ENTRETIEN")
    w = 4
    For j = 0 To UBound(tabonglet)
    Sheets("bd").Activate
     
    onglet = tabonglet(j)
        a = 0
        b = 0
        c = 0
        d = 0
        e = 0
        f = 0
        g = 0
        h = 0
     
        With Worksheets("bd")
            .Range("A2").Activate
            .Range("A2").End(xlDown).Select
            Set rng = ActiveCell
            For n = 1 To rng.Row
                If .Range("a" & n) = onglet And .Range("x" & n) Like "b1" Then a = a + 1
                If .Range("a" & n) = onglet And .Range("x" & n) Like "b2" Then d = d + 1
                If .Range("a" & n) = onglet And .Range("x" & n) Like "b3" Then b = b + 1
                If .Range("a" & n) = onglet And .Range("x" & n) Like "b4" Then c = c + 1
                If .Range("a" & n) = onglet And .Range("x" & n) Like "b5" Then g = g + 1
     
            Next n
            Sheets("feuil1").Range("b" & w) = a   
            Sheets("feuil1").Range("c" & w) = d   
            Sheets("feuil1").Range("d" & w) = b   
           Sheets("feuil1").Range("e" & w) = c  
             Sheets("feuil1").Range("f" & w) = g  
     
     
            w = w + 1
        End With
    Next j
     
    Worksheets("bd").Range("S1").Activate
    End Sub
    merci a+

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    Par défaut
    Je ne vois pas ou est le probleme avec les dates.
    Si toutes tes dates sont au format JJ/MM/AAAA, tu devrais pouvoir comparer avec les 7 derniers caractères de ta date qui te donne donc MM/AAAA :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Right(Trim(.Range("b" & n).Text),7) = "01/2007" Then (...)
    Ou alors comparer le mois et l'annee :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Month(.Range("b" & n)) = 1 And Year(.Range("b" & n))=2007 Then (...)

  3. #3
    Membre éclairé Avatar de lio62
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 472
    Par défaut
    bonsoir, Dadavyvy

    je teste cela

    merci a+

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 44
    Par défaut [vba-EXCEL] extraction de dates
    Tu pourrais aussi utiliser les fonctions prédéfinies de VBA-E

    dans ton cas, je pense que:

    MOIS=Datepart("m",adresse_de_Cellule$)
    et
    ANNEE=Datepart("yyyy",adresse_de_Cellule$))

    devraient faire l'affaire.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Par défaut
    j'ai un petit programme qui fonctionne comme tu souhaiterais.
    Je te le ferai passer dès que je rentre au boulot.
    Le principe :
    1) tu tri ta colonne date par ordre de date croissante
    2) tu rentres la date de départ
    3) tu rentres la date de fin
    4) il extrait toutes les lignes qui sont comprises entre la date de début et la date de fin.

    Dis moi si tu es intéressé??

  6. #6
    Membre éclairé Avatar de lio62
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 472
    Par défaut
    bonsoir Mulanzia


    je suis preneur

    d'autant que j'ai une erreur "incompatibilité de type sur cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Month(.Range("b" & n)) = 1 And Year(.Range("b" & n))=2007 Then (...)
    merci a+

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

Discussions similaires

  1. [VBA-EXCEL] format de date lors d'écriture dans une cellule
    Par ustilago dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/02/2007, 17h44
  2. Réponses: 2
    Dernier message: 26/12/2006, 12h49
  3. [VBA-excel] Affecter une date à la première cellule pleine
    Par DVano dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 10/11/2006, 12h06
  4. [VBA Excel] convertir une date francaise au format anglais
    Par loacast dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 15/12/2005, 16h52
  5. [VBA Excel] Extraction de données
    Par tpv72 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/09/2005, 21h49

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