Macro calculant la moy de plusieurs feuilles
Fermé
blanchehermine35
Messages postés
11
Date d'inscription
dimanche 26 juillet 2009
Statut
Membre
Dernière intervention
6 octobre 2012
-
4 mars 2012 à 14:31
ccm81 Messages postés 10562 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 27 mars 2023 - 7 mars 2012 à 10:22
ccm81 Messages postés 10562 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 27 mars 2023 - 7 mars 2012 à 10:22
A voir également:
- Macro calculant la moy de plusieurs feuilles
- Macro logiciel - Télécharger - Organisation
- Macro recorder - Télécharger - Confidentialité
- Clémence souhaite faire calculer automatiquement les prix de 30 produits dans trois devises. elle a déjà saisi une formule de calcul pour le tarif du premier produit dans la première devise. corrigez sa formule afin que recopiée vers le bas puis vers la droite, elle remplisse correctement tout le tableau. - Forum Excel
- Macro fusionner plusieurs feuilles excel en une seule - Guide
- Macro Recorder - Télécharger - Divers Utilitaires
6 réponses
eriiic
Messages postés
24513
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
25 mars 2023
7 168
Modifié par eriiic le 4/03/2012 à 19:39
Modifié par eriiic le 4/03/2012 à 19:39
Bonjour,
Si tes feuilles sont consécutives tu n'as pas besoin de macro :
=MOYENNE(Eval1:Eval1000!B6)
assure toi seulement d'insérer tes feuilles à prendre en compte, et seulement celles là, entre Eval1 et Eval1000 (qui peuvent très bien ne pas servir, la fonction moyenne ne tient pas compte des cellules vides)
eric
Si tes feuilles sont consécutives tu n'as pas besoin de macro :
=MOYENNE(Eval1:Eval1000!B6)
assure toi seulement d'insérer tes feuilles à prendre en compte, et seulement celles là, entre Eval1 et Eval1000 (qui peuvent très bien ne pas servir, la fonction moyenne ne tient pas compte des cellules vides)
eric
ccm81
Messages postés
10562
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
27 mars 2023
2 339
Modifié par ccm81 le 4/03/2012 à 15:05
Modifié par ccm81 le 4/03/2012 à 15:05
bonjour
un exemple attaché à un bouton (activeX) de la feuille bilan qui fait la moyenne des cellules des feuilles "evaluation" ayant la même adresse que celles de "plage"
bonne suite
bonne suite
un exemple attaché à un bouton (activeX) de la feuille bilan qui fait la moyenne des cellules des feuilles "evaluation" ayant la même adresse que celles de "plage"
Option Explicit
Const plage = "$B$6:$C$8"
Const nomF = "evaluation"
Private Sub btOK_Click()
Dim nuF As Long, nbF As Long
Dim s As Double
Dim c As Range
Dim li As Long, co As Long
For Each c In Range(plage)
li = c.Row
co = c.Column
s = 0
nbF = 0
For nuF = 1 To Sheets.Count
If InStr(1, Sheets(nuF).Name, nomF) > 0 Then
s = s + Sheets(nuF).Cells(li, co).Value
nbF = nbF + 1
End If
Next nuF
c.Value = s / nbF
Next c
bonne suite
bonne suite
blanchehermine35
Messages postés
11
Date d'inscription
dimanche 26 juillet 2009
Statut
Membre
Dernière intervention
6 octobre 2012
6 mars 2012 à 11:04
6 mars 2012 à 11:04
Merci,
A la suite du code Const plage = "$B$6:$y$45"
Const nom = "evaluation"
J'ai un message d'erreur qui indique end sub attendu
A la suite du code Const plage = "$B$6:$y$45"
Const nom = "evaluation"
J'ai un message d'erreur qui indique end sub attendu
ccm81
Messages postés
10562
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
27 mars 2023
2 339
Modifié par ccm81 le 6/03/2012 à 11:24
Modifié par ccm81 le 6/03/2012 à 11:24
exact, j'ai zappé la dernière ligne de la procedure
les deux dernière lignes
https://www.cjoint.com/?0CglxNX3N0d
bonne suite
les deux dernière lignes
Next c End Sub
https://www.cjoint.com/?0CglxNX3N0d
bonne suite
blanchehermine35
Messages postés
11
Date d'inscription
dimanche 26 juillet 2009
Statut
Membre
Dernière intervention
6 octobre 2012
6 mars 2012 à 12:33
6 mars 2012 à 12:33
Merci ça fonctionne très bien
Puis-je te déranger à nouveau ?
Est-il possible d'ajouter une condition pour qu'il ne renvoi un résultat que si la cellule contient une valeur ?
Puis-je te déranger à nouveau ?
Est-il possible d'ajouter une condition pour qu'il ne renvoi un résultat que si la cellule contient une valeur ?
ccm81
Messages postés
10562
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
27 mars 2023
2 339
6 mars 2012 à 13:44
6 mars 2012 à 13:44
re
ça doit être possible, mais que veux tu dire exactement par "la cellule contient une valeur" : quelle cellule? de quelle feuille? le mieux est de donner un exemple
bonne suite
ça doit être possible, mais que veux tu dire exactement par "la cellule contient une valeur" : quelle cellule? de quelle feuille? le mieux est de donner un exemple
bonne suite
blanchehermine35
Messages postés
11
Date d'inscription
dimanche 26 juillet 2009
Statut
Membre
Dernière intervention
6 octobre 2012
6 mars 2012 à 13:59
6 mars 2012 à 13:59
En fait je veux que dans la feuille bilan les cellues restent vides si la moyenne vaut 0
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ccm81
Messages postés
10562
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
27 mars 2023
2 339
6 mars 2012 à 16:10
6 mars 2012 à 16:10
re
quelque chose comme ça?
https://www.cjoint.com/?0CgqiNUBex4
bonne suite
quelque chose comme ça?
https://www.cjoint.com/?0CgqiNUBex4
bonne suite
blanchehermine35
Messages postés
11
Date d'inscription
dimanche 26 juillet 2009
Statut
Membre
Dernière intervention
6 octobre 2012
6 mars 2012 à 17:41
6 mars 2012 à 17:41
Ah effectivement je vois que ma demande n'était pas appropriée. En fait, je veux que rien ne s'affiche si il n'y a pas de valeur dans les cellules de chaque feuille.
Par exemple si dans toutes les feuilles eval, les cellules C7 et B9 sont vides je veux que dans bilan ces cellules restent vide. Par contre ce qui est bien avec ton nouveau code c'est qu'il ne considère pas une cellule vide comme 0 dans la moyenne.
Par exemple si dans toutes les feuilles eval, les cellules C7 et B9 sont vides je veux que dans bilan ces cellules restent vide. Par contre ce qui est bien avec ton nouveau code c'est qu'il ne considère pas une cellule vide comme 0 dans la moyenne.
blanchehermine35
Messages postés
11
Date d'inscription
dimanche 26 juillet 2009
Statut
Membre
Dernière intervention
6 octobre 2012
6 mars 2012 à 18:00
6 mars 2012 à 18:00
Je te remercie j'ai modifié moi même mon système d'évaluation. Ca fonctionne très bien merci.
blanchehermine35
Messages postés
11
Date d'inscription
dimanche 26 juillet 2009
Statut
Membre
Dernière intervention
6 octobre 2012
6 mars 2012 à 18:00
6 mars 2012 à 18:00
Avec le fichier joint ça aide vraiment.
Très pratique
Très pratique
ccm81
Messages postés
10562
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
27 mars 2023
2 339
7 mars 2012 à 10:22
7 mars 2012 à 10:22
bonjour
une modification pour différencier les cellules vides de celles qui contiennent un 0 à prendre en compte dans le calcul de la moyenne
bonne journée
une modification pour différencier les cellules vides de celles qui contiennent un 0 à prendre en compte dans le calcul de la moyenne
Private Sub btOK_Click()
Dim nuF As Long, nbv As Long
Dim s As Double, v
Dim c As Range
Dim li As Long, co As Long
For Each c In Range(plage)
li = c.Row
co = c.Column
s = 0
nbv = 0
For nuF = 1 To Sheets.Count
If InStr(1, Sheets(nuF).Name, nomF) > 0 Then
v = Sheets(nuF).Cells(li, co).Value
If v <> "" Then
s = s + v
nbv = nbv + 1
End If
End If
Next nuF
If nbv = 0 Then
c.Value = ""
Else
c.Value = s / nbv
End If
Next c
End Sub
bonne journée
6 mars 2012 à 10:47
6 mars 2012 à 17:49
C'est plus simple qu'une macro que tu ne sais pas faire évoluer...
Tu les appelles 'début' et 'fin' et tu t'insères entre.
eric