Filtrage VBA

xvella

XLDnaute Occasionnel
Bonjour Forum,
Bonjour Tous,

Voilà, j'ai un petit souci:

Après filtration d'un tableau de donnée entre 2 date j'obtient un tableau à 2 colonne avec des dates et des valeurs.

Maintenant j'aimerais crée un tableau qui pour chaque date me donnerais l'ecart type des données du tableau.

Merci d'avance.

@+
 

Pièces jointes

  • Auto-Graf.zip
    9.9 KB · Affichages: 32
  • Auto-Graf.zip
    9.9 KB · Affichages: 29
  • Auto-Graf.zip
    9.9 KB · Affichages: 29

pierrejean

XLDnaute Barbatruc
Re : Filtrage VBA

Re

Voici la macro commentée

Code:
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
 

Discussions similaires

Statistiques des forums

Discussions
312 502
Messages
2 089 049
Membres
104 012
dernier inscrit
baffyt2