programme VBA pour calculer une moyenne

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 !

alex751

XLDnaute Nouveau
Bjr, je suis un débutant en VBA.

j'ai un classeur Excel avec 15 feuilles : (Feuil1, Feuil2,..., Feuil15)

sur chaque feuille il y a une colonne avec 20 valeurs (de B2 à B22).
Je dois calculer la moyenne de ces valeurs dans la case B23 pour chaque feuille.

J'aimerais donc créer un programme VBA permettant de faire ça.
(mon soucis c'est la boucle pour réaliser le calcul sur les 15 feuilles)


merci de votre aide,
 
Re : programme VBA pour calculer une moyenne

Salut,

Voici un exemple de ce qu'il est possible e faire :
Code:
Sub test()
Dim k%, i%, nbcelnonvide%, somme%
For k = 1 To 15
    With Sheets(k)
        For i = 2 To 22
            somme = somme + .Cells(i, 2).Value
            If IsEmpty(.Cells(i, 2).Value) = False Then nbcelnonvide = nbcelnonvide + 1
        Next i
        If somme <> 0 And nbcelnonvide <> 0 Then .Cells(23, 2).Value = somme / nbcelnonvide
        somme = 0
        nbcelnonvide = 0
    End With
Next k
End Sub

@+
 
Re : programme VBA pour calculer une moyenne

Bonjour,

Sinon, tu peux aussi sélectionner les 15 feuilles et en B23 taper la formule
=MOYENNE(B1:B22)
la formule sera saisie sur chaque feuille!
N'oublie pas de 'déselectionner' les feuilles ensuite...

Caillou
 
Re : programme VBA pour calculer une moyenne

Bonjour Alex, Kjin, Romain

c'est fait, je donne quand même cela fera une autre solution...

Code:
Sub test()
Dim ws As Worksheet
For Each ws In Worksheets
    ws.Range("B23").Value = WorksheetFunction.Average(ws.Range("B2:B22"))
Next ws
End Sub

bon après midi
@+

Edition : bonjour également à Caillou...
 
Re : programme VBA pour calculer une moyenne

Bonjour kjin, le Forum

Une solution sans VBA

Si tu sélectionnes tes 15 feuilles avec CTRL et si tu écris en B23 = Moyenne(B1:B22) tu auras la moyenne qui apparaitra en B23 sur chacune des feuilles.


A+
 
Dernière édition:
Re : programme VBA pour calculer une moyenne

j'ai un autre petit problème.

cette fois je dois compter le nombre de case avec des valeurs à l'intérieur.

J'ai tapé ce code mais ça ne marche pas. Il ne me donne pas les bonnes valeurs.

Sub decompte()
For i = 1 To 15
With Sheets("Feuil" & i)
.Range("B24") = Application.WorksheetFunction.CountA(Range("B2:B22"))
End With
Next
End Sub



Il me donne des valeurs identiques sur chaque feuille. Pourquoi?

merci
 
Re : programme VBA pour calculer une moyenne

Bonsoir,

comme tu fais référence à la feuille "i", n'oublie pas le point, devant les cellules....

Code:
Sub decompte()
For i = 1 To 15
With Sheets("Feuil" & i)
.Range("B24") = Application.WorksheetFunction.CountA([COLOR="Red"][SIZE="7"].[/SIZE][/COLOR]Range("B2:B22 "))
End With
Next
End Sub
 
- 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

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
407
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
834
Réponses
9
Affichages
784
Réponses
3
Affichages
818
Réponses
16
Affichages
2 K
Réponses
7
Affichages
1 K
Retour