Bonjour à tous,
J'essaie tant bien que mal de construire un fichier permettant de créer des moyennes classées par date.
Je m'explique. Plusieurs analyses sont faites par jour et chacune de ces analyses sortent une valeur (en %). J' aimerais donc pouvoir effectuer un tri permettant de regrouper les analyses par date et donc effectuer ensuite une moyenne de ces valeurs (toujours par date) dans des colonnes à coté. Par rapport au fichier, j'aimerais que seul la colonne date soit reportée sur une colonne préalablement décidée avec la macro sachant que la colonne des valeurs se trouve dans une colonne non contiguës à celle de la date. C'est-à-dire, avoir une colonne de titres "Date" avec les jours qui s'affiche (exemple : 26/03/2022 sur G2, puis 27/03/2022 sur G3 même si plusieurs analyses sont faites par jour) et une colonne "Moyenne MRI" effectuant la moyenne de toutes les valeurs (exemple : la moyenne des différentes valeurs des analyses effectuées le 26/03/2022 en H2 et la moyenne des valeurs du 27/03/2022 en H3 et ainsi de suite).
J'ai fournis un fichier test possédant la macro en question.
Voici également le code utilisé dans celle-ci en dessous.
J'essaie tant bien que mal de construire un fichier permettant de créer des moyennes classées par date.
Je m'explique. Plusieurs analyses sont faites par jour et chacune de ces analyses sortent une valeur (en %). J' aimerais donc pouvoir effectuer un tri permettant de regrouper les analyses par date et donc effectuer ensuite une moyenne de ces valeurs (toujours par date) dans des colonnes à coté. Par rapport au fichier, j'aimerais que seul la colonne date soit reportée sur une colonne préalablement décidée avec la macro sachant que la colonne des valeurs se trouve dans une colonne non contiguës à celle de la date. C'est-à-dire, avoir une colonne de titres "Date" avec les jours qui s'affiche (exemple : 26/03/2022 sur G2, puis 27/03/2022 sur G3 même si plusieurs analyses sont faites par jour) et une colonne "Moyenne MRI" effectuant la moyenne de toutes les valeurs (exemple : la moyenne des différentes valeurs des analyses effectuées le 26/03/2022 en H2 et la moyenne des valeurs du 27/03/2022 en H3 et ainsi de suite).
J'ai fournis un fichier test possédant la macro en question.
Voici également le code utilisé dans celle-ci en dessous.
VB:
Sub MoyenneDate()
Dim DL%, T, Tout, M, i%, j%, k%, NbL%
DL = Range("A5000").End(xlUp).Row
T = Range("A2:E2" & DL) ' On transfert lse données dans le tableau T
M = Range("D2" & DL)
Titres = Range("A1,D1").Value ' On récupère les titres (pour mettre dans les feuilles qui n'existent pas)
For i = 1 To UBound(T) ' Pour toutes les lignes
ReDim Tout(UBound(T), 11) ' On redimensionne le tableau de sortie
NbL = 0 ' Init du pointeur du tableau de sortie
Libellé = T(i, 1) ' On récupère le libellé
If Libellé <> "" Then ' Si non vide
For j = 1 To UBound(T) ' On parcourt toutes les lignes
If T(j, 1) = Libellé Then ' Si c'est le bon libellé
For k = 0 To 3 ' On transfert la ligne dans le tableau de sortie
Tout(NbL, k) = T(j, k + 1)
Next k
T(j, 1) = "" ' On efface le libellé du tableau d'entrée car déjà traité
NbL = NbL + 1 ' On incrémente l'indice du tableau de sortie
End If
Next j
On Error Resume Next
Range("F1:J1") = Titres ' On initialise la ligne des titres
Range("F2:J2") = T
Range("K2") = Application.Average(M)
End If
Next i
End Sub