extraction de dates

lio62

XLDnaute Nouveau
Bonsoir,
j'ai une base de donnée (feuille "bd") dans laquelle se trouve en colonne "B"
des dates sous cette forme JJ/MM/AAAA, je voudrais extraire ces données en fonction du mois et de l'année.Pour l'instant j'y arrive pour la colonne A (maintenance, entretien depannage )et les équipes b1, b2 etc..) mais pour les dates je coince

Code:
Sub pretmatosinformatique()
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+
 

lio62

XLDnaute Nouveau
Re : extraction de dates

re
j'avais mis ca mais sans succés
ladate = [ao1]

If .Range("a" & n) = onglet And .Range("x" & n) Like "J1" And CStr(Month(ladate) + Year(ladate) * 100) Then a = a + 1


Pour toi a quoi correspondrait date1 et date 2?

merci a+
 

wilfried_42

XLDnaute Barbatruc
Re : extraction de dates

re:

je crois qu'il y a un probleme

je cite le titre de to post
extraction de dates
je cite ta question
j'ai une base de donnée (feuille "bd") dans laquelle se trouve en colonne "B"
des dates sous cette forme JJ/MM/AAAA, je voudrais extraire ces données en fonction du mois et de l'année.Pour l'instant j'y arrive pour la colonne A (maintenance, entretien depannage )et les équipes b1, b2 etc..) mais pour les dates je coince

personnellement, je ne pense pas avoir fait autre chose que ce que tu demandais

alors pourquoi cette phrase
je ne comprends pourquoi tu veux comparer 2 dates ,(date1 et date2)

si tu veux extraire à parti d'un mois et une annee, le plus simple, c'est une date de reference à la quelle tu recuperes le mois et l'année year(date1)*100 + month(date1) et tu controles ces parametres avec le dates dans ta base


date1 = (year([ao1] ) *100) + month([ao1)) ' ------> Ao1 cellule de saisie de la date du mois et de l'anne à extraire
With Worksheets("bd")
.Range("A2").Activate
.Range("A2").End(xlDown).Select
Set rng = ActiveCell
For n = 1 To rng.Row
date2 = (year(.range("B" & n))*100) + month(.range("B" & n))
If .Range("a" & n) = onglet And .Range("x" & n) Like "B1" And date1 = date2 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
'If .Range("av" & n) Like "*melor*" Then d = d + 1
'If .Range("av" & n) Like "*melec*" Then e = e + 1
'If .Range("av" & n) Like "*melim*" Then f = f + 1
'If .Range("av" & n) Like "*melimpa*" Then g = g + 1

Next n
 
Dernière édition:

ChTi160

XLDnaute Barbatruc
Re : extraction de dates

Salut lio62
Bonjour wilfried
Le Forum

je ne sais pas si j'ai compris Lol
arfff en vérifaint comment as tu déclaré date2 ??
date2 = (Year(.Range("B" & n)) * 100) + Month(.Range("B" & n))
date2= 200704
si c'est en String pas de problème si c'est en date alors la problème
Bonne journée :D
 
Dernière édition:

ChTi160

XLDnaute Barbatruc
Re : extraction de dates

Re
arfff la je ne comprends pas lol

tu dis
les dates sont entrées sous cette forme jj/mm/aaaa
date2=20/07/2004
non puisque tu récupéres les dates dans la colonne B
date2 = (Year(.Range("B" & n)) * 100) + Month(.Range("B" & n))
donc il faut qu'en colonne B tu es des dates pour en récupérer l'Année (Year(.Range("B" & n)) ) puis le Mois ( Month(.Range("B" & n)) )
je ne comprends pas pourquoi tu multiplies l'Année ainsi récupérée par 100 (Year(.Range("B" & n)) * 100) si Year(.Range("B" & n)) retourne 2007 alors 200700 arff ou alors c'est un 1 qu'il faut pour transformer le String en Integer ??????
date2 = (Year(.Range("B" & n))*1) + Month(.Range("B" & n))
à Voir
si tu as comme message ( incompatibilité de type ) c'est que tu as déclaré date2 en String par exemple et que tu lui affectes un Nombre ou autre

Bonne fin de journée
 

Statistiques des forums

Discussions
312 448
Messages
2 088 507
Membres
103 873
dernier inscrit
Sabin