VBA : Moyenne d'une partie de ligne
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
A voir également:
- Vba moyenne
- Excel moyenne - Guide
- Moyenne en anglais excel - Guide
- Excel compter cellule couleur sans vba - Guide
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
- Find vba - Astuces et Solutions
5 réponses
Bonjour à tous,
Je me permets de réitérer ma demande.
Je suis un peu bloqué sans cela à vrai dire.
Merci beaucoup aux aideurs
Je me permets de réitérer ma demande.
Je suis un peu bloqué sans cela à vrai dire.
Merci beaucoup aux aideurs
Bon ben j'ai opté pour la bonne vieille solution de la somme puis de la division.
ça fonctionne, mais quand même, si certains peuvent me donner la syntaxe à utiliser pour faire directement la moyenne, pour ma culture...merci
Dim dercol5 As Byte Dim derline5 As Byte dercol5 = Range("B4").End(xlToRight).Column derline5 = Range("B4").End(xlDown).Row Dim somme As Integer Dim moyenne As Integer somme = 0 Dim b As Byte For b = 6 To dercol5 - 1 somme = somme + Cells(4, b).Value Next moyenne = somme / (dercol5 - 1 - 5) Cells(4, dercol5).Value = moyenne
ça fonctionne, mais quand même, si certains peuvent me donner la syntaxe à utiliser pour faire directement la moyenne, pour ma culture...merci
Salut,
Je ne connait pas la fonction :
Cordialement,
-- Tout problème à sa solution. S'il n'y a pas de solution, ou est le problème? --
Je ne connait pas la fonction :
Application.Averagemais perso, pour une moyenne je ferais comme ceci : !!! Il se peux que je n'ai rien compris à ton souhait. Pense donc à tester cette macro sur une copie de ton fichier...
Sub Bouton18_QuandClic() Dim dercol5, derline5, i, j ,nbre As Integer Dim moyenne As Double dercol5 = Range("B4").End(xlToRight).Column derline5 = Range("B4").End(xlDown).Row For i = 5 To derline5 'boucle sur toutes les lignes à partir de 5 If dercol5 - 1 < 2 then Exit Sub nbre = dercol5 - 3 For j = 2 To dercol5 - 1 'boucle des colonnes B à dercol5 - 1 moyenne = moyenne + Cells(i, j).Value Next j Cells(i, dercol5).Value = CDbl(moyenne / nbre) Next i End Sub
Cordialement,
-- Tout problème à sa solution. S'il n'y a pas de solution, ou est le problème? --
Merci pour ta réponse Pijaku,
Mais le bout de code que j'ai proposé au dessus règle déjà mon problème.
Je me demandais juste s'il existait une fonction permettant de faire directement une moyenne sur un morceau de ligne, et je m'explique car effectivement je ne suis pas forcément très clair.
En gros faire la moyenne de F4 à F(dercol5-1).
Je ne peux pas écrire average(F4 : F#) puisque dercol5-1 est variable et c'était mon soucis.
Mais j'ai ce que j'ai besoin maintenant merci quand même !
Petite question subsidiaire quand même si tu me le permets.
Comment fait-on pour définir une variable en fonction d'une autre ?
Je veux que pour t allant de 4 à derline5, j'obtienne la moyenne dans la dernière case.
J'ai maintenant ma moyenne (code précédent), est ce possible d'écrire quelquechose comme somme(t) = blablabla ?
Désolé, je suis encore débutant sous vba et merci pour ton aide.
Mais le bout de code que j'ai proposé au dessus règle déjà mon problème.
Je me demandais juste s'il existait une fonction permettant de faire directement une moyenne sur un morceau de ligne, et je m'explique car effectivement je ne suis pas forcément très clair.
En gros faire la moyenne de F4 à F(dercol5-1).
Je ne peux pas écrire average(F4 : F#) puisque dercol5-1 est variable et c'était mon soucis.
Mais j'ai ce que j'ai besoin maintenant merci quand même !
Petite question subsidiaire quand même si tu me le permets.
Comment fait-on pour définir une variable en fonction d'une autre ?
Je veux que pour t allant de 4 à derline5, j'obtienne la moyenne dans la dernière case.
J'ai maintenant ma moyenne (code précédent), est ce possible d'écrire quelquechose comme somme(t) = blablabla ?
Désolé, je suis encore débutant sous vba et merci pour ton aide.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question