Moyenne de cellules de différents fichiers

Bonjour à toutes et à tous,

Après avoir trouvé comment faire la somme de cellules de différents fichiers, je reviens vers vous car je dois faire la moyenne des cellules.

En effet dans mon tableau, je dois additionner la plupart des cellules, mais certaines contiennent déjà des moyennes, or additionner des moyennes c'est pas top.

Il faut donc que je fasse la moyenne de ces moyennes. La démarche est la même sauf qu'au lieu d'additionner les cellules A3 de tous les fichiers, je souhaite faire la moyenne des cellules A3 de mes fichiers.

Voici le bout de code concernant la somme. Je ne vois pas où caler mon "average".

Merci de votre aide

Workbooks(NomFichier).Sheets(1).Range("B71:M71").Copy
        ThisWorkbook.Sheets(1).Range("B71:M71").PasteSpecial Paste:=xlPasteValues, Operation:=xlAdd, SkipBlanks:= _
                                              False, Transpose:=False

                                              

bonjour,

tu comptes le nombre de fichiers que tu as ouverts et tu divises le total de chaque cellule par ce nombre

Bonjour,

Oui j'y ai pensé, mais si certains fichiers n'ont pas la donnée, il faut aller vérifier etc.

Ou si le nombre de fichier varie.

Sinon suite à la formule de somme, faire une formule de moyenne qui divise la somme par le nombre de fichiers qui a été ouvert du style "NB fichier ouvert"

C'est pas compliqué d'aller voir bien sûr, mais s'il y a moyen d'automatiser et simplifier je suis preneur

Bonjour,

une solution possible.

Sub Macro1()

    Dim NomFichier As String, CheminFichier As String, i&, j&
    Dim FichierOpen As String    'Pour le chemin avec le fichier à ouvrir

    CheminFichier = " "    'Chemin du répertoire des fichiers ex "c:\Excel\

    NomFichier = Dir(CheminFichier & "\*.xlsx")
    fo = 0 'compte le nombre de fichiers pris en compte

    Do While NomFichier <> ""  ' parcours la liste de tes fichiers d'extension .xls

        FichierOpen = CheminFichier & NomFichier
        Workbooks.Open FichierOpen    'Ouverture du fichier à lire

        fo = fo + 1
        'Copie dans la cellule C3 (du nouveau fichier) la cellule C3 du fichier xls additionnée du contenu
        'A adapter avec le format de ta feuille excel et à copier autant de fois pour toutes les cellules à copier
        Workbooks(NomFichier).Sheets(1).Range("C3:F6").Copy
        ThisWorkbook.Sheets(1).Range("C3:F6").PasteSpecial Paste:=xlPasteAll, Operation:=xlAdd, SkipBlanks:= _
                                                           False, Transpose:=False
        Workbooks(NomFichier).Close

        NomFichier = Dir
    Loop

    If fo > 0 Then 'si nombre de fichiers pris en compte > 0 on calcule la moyenne
        saveA1 = Sheets(1).Range("A1").Formula
        ThisWorkbook.Sheets(1).Range("A1") = fo
        ThisWorkbook.Sheets(1).Range("A1").Copy
        ThisWorkbook.Sheets(1).Range("C3:F6").PasteSpecial Paste:=xlPasteAll, Operation:=xlDivide, SkipBlanks:= _
                                                           False, Transpose:=False
        Sheets(1).Range("A1").Formula = saveA1
    End If
    Application.CutCopyMode = False
End Sub
Rechercher des sujets similaires à "moyenne differents fichiers"