Salutbaptbapt à dit:Bonjour,
mon problème est le suivant
je dois prendre en compte les éléments par année de façon totalement automatique
comment récuperer l'année d'une cellule ecrite: 12/03/2005
sachant que je vai avoir plusieur fois l'année 2005, 2006 .....
merci
27/10/2004
21/12/2004
24/01/2005
27/07/2005
16/09/2005
22/09/2005
04/10/2005
16/09/2005
05/01/2006
16/03/2006
16/03/2006
11/12/2006
Cells(derligne + 6, 4).Value = annee(Cells(1, 13).Value)
Range("D&derligne+7:D").ClearContents
For Each cellule In Range("b&derligne+7 :b" & Range("b&derligne+7").End(xlDown).Row)
i = 0
For Each cell In Range("m1:m" & Range("m1").End(xlDown).Row)
If Year(cell) = cellule.Value Then i = i + 1
Next cell
cellule.Offset(0, 2).Value = i
Next cellule
Range("D" & derligne+7 & ":D" & Range("b" & derligne+7).End(xlDown).Row).ClearContents
For Each cellule In Range("b" & derligne+7 & ":b" & Range("b" & derligne+7).End(xlDown).Row)
i = 0
For Each cell In Range("m1:m" & Range("m1").End(xlDown).Row)
If Year(cell) = cellule.Value Then i = i + 1
Next cell
cellule.Offset(0, 2).Value = i
Next cellule
Date commande Date Envoi Date Reception
20/09/2004 15/03/2007
20/09/2004 15/03/2007
20/09/2004 15/03/2007
20/09/2004 15/03/2007
18/05/2006 10/08/2006 28/11/2006
18/05/2006 10/08/2006 28/11/2006
18/05/2006 30/11/2006
18/05/2006 30/11/2006
18/05/2006 10/08/2006
18/05/2006 28/02/2007
18/05/2006 28/02/2007
Cells(derligne + 7, 2).Value = Year(Cells(1, 2).Value)
Cells(derligne + 7, 2).Value = Year(Cells(1, 2).Value)
x = Year(Cells(1, 2).Value)
For l = 1 To derligne
If x < Year(Cells(l, 13).Value) Then
x = Year(Cells(l, 13).Value)
End If
Next l
xx = x - Year(Cells(1, 2).Value)
Cells(derligne + 7 + xx, 2).Value = x
Cells(derligne + 7, 2).Value = Year(Cells(1, 2).Value)
x = Year(Cells(1, 2).Value)
For l = 1 To derligne
If x < Year(Cells(l, 13).Value) Then
x = Year(Cells(l, 13).Value)
End If
Next l
xx = x - Year(Cells(1, 2).Value)
Cells(derligne + 7 + xx, 2).Value = x
For y = 1 To xx
If Cells(derligne + 7, 2).Value + y <> Cells(derligne + 7 + xx, 2).Value Then
Cells(derligne + 7 + y, 2).Value = Cells(derligne + 7, 2).Value + y
End If
Next y
Salutbaptbapt à dit:merci ninbihan
mais, je n'arrive pas à l'adapter a ma macro
Code:Range("D&derligne+7:D").ClearContents For Each cellule In Range("b&derligne+7 :b" & Range("b&derligne+7").End(xlDown).Row) i = 0 For Each cell In Range("m1:m" & Range("m1").End(xlDown).Row) If Year(cell) = cellule.Value Then i = i + 1 Next cell cellule.Offset(0, 2).Value = i Next cellule
Mes dates sont sur la colonne M
et j'écris mes réponses a partir de la derligne +7
l'année dans la colonne B
et le nombre de référence en D
Sub Test()
dim derligne as long
derligne = 5 'par exemple
range("D" & derligne & ":D" & range("D65536).end(xlup).row).select
end sub