Sub Macro1()
'ligne apartir de laquelle on va ecrire
ligne = 3
'declaration de la collection
Dim coll As Collection
Set coll = New Collection
'Mise sous forme de collection de la liste des differentes dates
For n = 3 To Range("B65536").End(xlUp).Row
On Error Resume Next
If Range("B" & n) <> "" Then coll.Add Range("B" & n), CStr(Range("B" & n))
On Error GoTo 0
Next n
'pour chaque date de la collection
For m = 1 To coll.Count
'pour chaque ligne en colonne B
For n = 3 To Range("B65536").End(xlUp).Row
'Si la date correspond a celle de la collection
'et que la colonne C n'est pas vide
If Range("B" & n) = coll(m) And Range("C" & n) <> "" Then
'on totalise les valeurs
totx = totx + Range("C" & n)
'on totalise le carré des valeurs
totx2 = totx2 + Range("C" & n) ^ 2
'on incremente le nombre de valeurs
nn = nn + 1
End If
Next n
'S'il y a plus d'une valeur (pour eviter la division par 0
If nn > 1 Then
'on calcule l'ecart type ECARTTYPEP (voir l'aide de cette fonction)
ec = ((nn * totx2 - totx ^ 2) / (nn ^ 2)) ^ 0.5
'on ecrit la date en colonne 5 ,l'ecart en colonne 6
Cells(ligne, 5) = coll(m)
Cells(ligne, 6) = ec
'on remet les variables de calcul a 0
totx = 0
totx2 = 0
nn = 0
'on incremente la ligne d'ecriture
ligne = ligne + 1
End If
Next m
End Sub
N'hesite pas a revenir si quelque chose t'echappe encore