XL 2010 Moyennes automatiques

  • Initiateur de la discussion Initiateur de la discussion bobafric
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

bobafric

XLDnaute Occasionnel
Bonjour
Je voudrai faire automatiquement la moyenne des valeurs par nom et par ligne dans un tableau ou autre sur le fichier ci joint.
il y a peut- être déjà des exemples sur le forum mais je ne les ai pas trouvées.
J'espère que le fichier et les explications sont assez clairs.
Merci d'avance
 

Pièces jointes

Solution
@bobafric,
1-Pour le futur lecteur, c'est le post de la solution qu'on met en vert, non votre propre réponse. 🙂
2-On peut même se passer du bouton. Dans cette PJ la mise à jour des moyennes se fait automatiquement lorsqu'on sélectionne la feuille Moyennes.
Bien le bonjour tout le monde,
Ce que je veux c'est que ce soit automatique sans le besoin de taper les formules pour chaque ligne.
Un essai en PJ tout automatique quelque soit le nombre de lignes et colonnes.
Les moyennes sont calculées dans la feuille "Moyennes"
VB:
    Dim DL%, DC%, i%, L%, C%
    Application.ScreenUpdating = False
    With Sheets("Moyennes")
        DL = Range("C65500").End(xlUp).Row                  ' Dernière ligne
        DC = Cells(1, Columns.Count).End(xlToLeft).Column   ' Dernière colonne
        ' Copie liste nom en feuil2
        .Cells.Clear
        Range(Cells(1, 1), Cells(1, DC)).Copy
        .[A1].PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
        Application.CutCopyMode = False
        .Range("$A$1:$A$" & DC).RemoveDuplicates Columns:=1, Header:=xlNo
        ' Copie liste des lignes
        For i = 4 To DL
            .Cells(1, i - 2) = Cells(i, "C")
        Next i
        ' Calcul des moyennes par formules intégrées dans feuille
        DL = .Range("A65500").End(xlUp).Row                 ' Dernière ligne
        DC = .Cells(1, Columns.Count).End(xlToLeft).Column  ' Dernière colonne
        For L = 2 To DL
            For C = 2 To DC
                .Cells(L, C).FormulaLocal = "=SIERREUR(ARRONDI(MOYENNE.SI.ENS(Feuil1!$F" & C + 2 & ":$ZZ" & C + 2 & ";Feuil1!$F$1:$ZZ$1;$A" & L & ");2);"""")"
            Next C
        Next L
        ' Mise en forme
        With .Range(.Cells(1, 1), .Cells(DL, DC))
            .HorizontalAlignment = xlCenter
            .Borders.LineStyle = xlThin
        End With
        .Select
        .Range("A1").Select
    End With
End Sub
 

Pièces jointes

@bobafric,
1-Pour le futur lecteur, c'est le post de la solution qu'on met en vert, non votre propre réponse. 🙂
2-On peut même se passer du bouton. Dans cette PJ la mise à jour des moyennes se fait automatiquement lorsqu'on sélectionne la feuille Moyennes.
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
14
Affichages
472
Réponses
11
Affichages
219
Réponses
12
Affichages
680
Retour