Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/09/2011, 11h24   #1
Invité de passage
 
Homme Laurent
Inscription : septembre 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Homme Laurent

Informations forums :
Inscription : septembre 2011
Messages : 5
Points : 0
Points : 0
Par défaut calcul moyenne VBA

Quel est le code VBA pour la fonction:moyenne(variable:variable)
Alaska12 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 11h53   #2
Membre actif
 
Inscription : novembre 2008
Messages : 188
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 188
Points : 194
Points : 194
Il y en a une dérivée des fonctions Excel:

Citation:
Function Average(Arg1, [Arg2], [Arg3], [Arg4], [Arg5], [Arg6], [Arg7], [Arg8], [Arg9], [Arg10], [Arg11], [Arg12], [Arg13], [Arg14], [Arg15], [Arg16], [Arg17], [Arg18], [Arg19], [Arg20], [Arg21], [Arg22], [Arg23], [Arg24], [Arg25], [Arg26], [Arg27], [Arg28], [Arg29], [Arg30]) As Double
Membre de Excel.WorksheetFunction
Pour un truc plus exotique, faut le faire à la main (à moins qu'il existe une autre fonction que je ne connaisse pas).
Sclarckone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 12h04   #3
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Bonjour,

Que représentent "variable:variable" ? une plage de cellule genre A1:C5 ?
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 13h45   #4
Invité de passage
 
Homme Laurent
Inscription : septembre 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Homme Laurent

Informations forums :
Inscription : septembre 2011
Messages : 5
Points : 0
Points : 0
Par défaut Calcul moyenne

Citation:
Envoyé par Daniel.C Voir le message
Bonjour,

Que représentent "variable:variable" ? une plage de cellule genre A1:C5 ?
Exactement mais sous forme Average=(cells(a, b):cells(c,b))
Alaska12 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 14h02   #5
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Pas sûr que ce soit ce que tu veuilles :

Code :
1
2
3
4
5
a = 11
b = 2
c = 17
d = 5
MsgBox Application.Average(Range(Cells(a, b), Cells(c, d)))
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 14h37   #6
Invité de passage
 
Homme Laurent
Inscription : septembre 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Homme Laurent

Informations forums :
Inscription : septembre 2011
Messages : 5
Points : 0
Points : 0
Désolé de t'embêter, je suis vraiment au début

Je cherche la fin d'une colonne de nombres et voudrait calculer la moyenne de celle-ci.
J'avais pensé à la section suivante:

Code :
1
2
3
4
5
6
7
8
9
Dim z As Double
 
z = 2
While Cells(z, 11) <> ""
z = z + 1
Wend
 
Cells(z, 11).Select
    ???Selection.Average(cells(2,11),cells(z,11)????
Alaska12 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 14h51   #7
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Je te propose :

Code :
1
2
Z = Cells(Cells.Rows.Count, 11).End(xlUp).Row
MsgBox Application.Average(Range(Cells(2, 11), Cells(Z, 11)))
La première ligne te permet de trouver la dernière cellule non vide sans avoir besoin de boucler.
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 15h50   #8
Invité de passage
 
Homme Laurent
Inscription : septembre 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Homme Laurent

Informations forums :
Inscription : septembre 2011
Messages : 5
Points : 0
Points : 0
Merci, t'es super! ça fonctionne, mais j'aimerais avoir le résultat dans la cells(z+1,11) en évitant le MsgBox
Alaska12 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 16h05   #9
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Code :
Cells(Z + 1, 11) = Application.Average(Range(Cells(2, 11), Cells(Z, 11)))
en gardant en tête que, si tu exécutes une seconde fois la macro, le résultat de la première exécution sera inclus dans la moyenne.
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2011, 16h39   #10
Invité de passage
 
Homme Laurent
Inscription : septembre 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Homme Laurent

Informations forums :
Inscription : septembre 2011
Messages : 5
Points : 0
Points : 0
Merci beaucoup pour ton aide, ça fonctionne super!
Alaska12 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h09.


 
 
 
 
Partenaires

Hébergement Web