VBA - Macro somme / division (moyenne d'âge)

Résolu/Fermé
J0K0 Messages postés 163 Date d'inscription lundi 7 mai 2007 Statut Membre Dernière intervention 19 juillet 2019 - 15 mai 2010 à 01:28
J0K0 Messages postés 163 Date d'inscription lundi 7 mai 2007 Statut Membre Dernière intervention 19 juillet 2019 - 15 mai 2010 à 04:03
Bonsoir à toutes et tous,

Je vous explique le problème : (servant à faire une moyenne d'âge)

J'essaie depuis toute la soirée de faire une somme de plusieurs cellules et de l'afficher dans une cellule cherchée (jusqu'à là, j'y arrive).
Je n'arrive pas à prendre cette somme et la diviser par le nombre de cellule précédemment sélectionner....

Voici le code :
Sub moyage()
Sheets("effectif_amicale").Activate
c = Sheets("effectif_amicale").Range("A1000").End(xlUp).Row
d = Sheets("effectif_amicale").Range("L5").End(xlDown).Row - 4
e = Sheets("effectif_amicale").Range("L5").End(xlDown).Row + 1
' MARCHE : somme des âges '  MsgBox Application.WorksheetFunction.Sum(Range("L5:L" & c))
' MARCHE : somme lignes des âges '  MsgBox Worksheets("effectif_amicale").Range("L5").End(xlDown).Row - 4
' MARCHE : sélectionne la dernière cellule +1 de la colonne L ' Sheets("effectif_amicale").Range("L" & e).Select
'Sheet.Range("L5").End(xlDown).Row -4 = WorksheetFunction.Sum(Range("L5:L" & c))
Sheets("effectif_amicale").Range("L" & e) = WorksheetFunction.Sum(Range("L5:L" & c))
'Sheets("effectif_amicale").Range("L5").End(xlDown).Select
End Sub



merci de votre aide !

A voir également:

1 réponse

J0K0 Messages postés 163 Date d'inscription lundi 7 mai 2007 Statut Membre Dernière intervention 19 juillet 2019 17
15 mai 2010 à 04:03
Voici ma réponse que j'ai enfin trouvée ....
J'ai galéré !!!!!!!!!!! bref ...
Si ça peut servir à quelqu'un temps mieux !!!!!!
' moyenne d'age : supprime la moyenne d'age et la recalcule
Sheets("effectif_amicale").Activate
f = Sheets("effectif_amicale").Range("L5").End(xlDown).Row
Worksheets("effectif_amicale").Range("L" & f).ClearContents
e = Sheets("effectif_amicale").Range("L5").End(xlDown).Row + 1
Worksheets("effectif_amicale").Range("L" & e).Value = WorksheetFunction.Average(Range("L5" & ":" & _
    Range("L1000").End(xlUp).Address(0, 0)))


biensure code à mettre :
sub macro
//code
end sub

Enjoy !
0