geric57
Messages postés10Date d'inscriptionmardi 31 janvier 2006StatutMembreDernière intervention 8 mars 2006
-
8 mars 2006 à 11:48
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 2012
-
8 mars 2006 à 14:50
Bonjour à tous,
Pourriez vous m'aider à écrire le code VBA pour faire l'opération suivante: voici mes données de départ :
<COLGROUP>
<COL width=35>
<COL width=71>
----
ID ,
Trade,
----
3145,
20-Sep-05,
----
3154,
20-Sep-05,
----
3183,
27-Sep-05,
----
3203,
30-Sep-05,
----
3240,
11-Oct-05,
----
3249,
12-Oct-05,
----
3272,
18-Oct-05,
----
3300,
21-Oct-05,
----
3388,
4-Nov-05,
----
3421,
9-Nov-05,
----
3424,
9-Nov-05,
----
3481,
18-Nov-05,
----
3502,
23-Nov-05,
----
3503,
23-Nov-05,
----
3572,
5-Dec-05,
----
3627,
14-Dec-05,
----
3647,
16-Dec-05,
----
3659,
19-Dec-05,
----
3670,
21-Dec-05,
----
3710,
30-Dec-05,
----
3711,
3-Jan-06,
----
3718,
4-Jan-06,
----
3729,
5-Jan-06,
----
3813,
20-Jan-06,
----
3894,
2-Feb-06,
----
3902,
6-Feb-06
Pour simplifier, je souhaite faire une macro qui me fasse une somme du nombre de lignes pour lesquelles le mois et l'année sont identiques.
Perso j'arrive juste à sommer les lignes qui ont la date identique au jour prêt, loool, et cette info ne me sert absolument à rien.
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 8 mars 2006 à 14:50
Re,
Attention dans ta definition de variable, il n y a que Date2 qui est du type Date (SI JE NE ME TROMPE PAS), MyDate et Date1 sont de type Variant.
Essaie le code suivant:
Dim MyDate As Date
Dim DateDebut As Date
Dim DateFin As Date
Dim DateCellule As Date
Dim NumLigne As Long
Dim NombredeFois As Integer
Dim LigneResultat As Long
DateDebut = CDate(Range("B" & 2).Value) ' Premier date de l'intervale
DateFin = CDate(Range("B" & 27).Value) ' A remplacer par la derniere date de l'intervale
MyDate = DateDebut
LigneResultat = 2Do Until (Month(MyDate) Month(DateFin) + 1) And (Year(MyDate) Year(DateFin))
NumLigne = 2
NombredeFois = 0 For NumLigne 2 To 27 '(27 dernier ligne ecrite)
DateCellule = CDate(Range("B" & NumLigne).Value) If (Month(MyDate) Month(DateCellule)) And (Year(MyDate) Year(DateCellule)) Then NombredeFois = NombredeFois + 1
Next