VBA : Calcul de moyenne
Résolu
actaris51
Messages postés
93
Date d'inscription
Statut
Membre
Dernière intervention
-
actaris51 Messages postés 93 Date d'inscription Statut Membre Dernière intervention -
actaris51 Messages postés 93 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- VBA : Calcul de moyenne
- Excel compter cellule couleur sans vba - Guide
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
- Mkdir vba ✓ - Forum VB / VBA
- Vba range avec variable ✓ - Forum VB / VBA
3 réponses
Bonjour,
Voici le code mais ca ne correspond pas tout à fait à te demande mais dis moi si ca t'irait :
sub moyenne
dim i,j,nbre,addition, indicateur, semaine as string
sheets"données").select
i=""
do while i=""
i = inputbox("Sur quelle semaine voulez-vous calculer la moyenne ?","Définition de la semaine")
if not isnumeric(i) then
i = msgbox("Vous n'avez pas tapé un chiffre, Voulez-vous continuer?",vbyesno,"Erreur dans la saisie de la semaine")
if i = 7 then
end sub
else
i=""
end if
else
if i < 0 or i > 53 then
i = msgbox("Vous avez pas tapé une semaine erronnée, Voulez-vous continuer?",vbyesno,"Erreur dans la saisie de la semaine")
if i = 7 then
end sub
else
i=""
end if
end if
end if
semaine = i
if semaine <> ""
i= 2
j =5
cells(i,j).select
do while cells(i,j) <> semaine
j=j+1
if cells(i,j)="" then
cells(i,j) = semaine
semaine = ""
end if
loop
if semaine = "" then
semaine = 2
i =msgbox ("La semaine saisie n'est pas dans le tableau! voulez-vous continuer?", vbyesno, "Erreur dans la saisie")
if i = 7 then
end sub
else
i=""
end if
end if
end if
loop
if semaine <> "" then
nbre=0
addition = 0
i=3
cells(i,3).select
indicateur = selection
do while indicateur <> ""
cells(i,j).select
nbre=selection + nbre
addition = addition +1
i=i+1
do while cells(i,3) = ""
i=i+1
nbre = nbre+cells(i,j)
addition = addition +1
loop
sheets("kpis").select
cells(semaine,2) = indicateur
cells(semaine,3) = nbre / addition
semaine = semaine +1
sheets("données").select
cells(i,3).select
indicateur = selection
loop
end if
end sub
Regarde si il n'y a pas d'ereur et si ca t'irait
Voici le code mais ca ne correspond pas tout à fait à te demande mais dis moi si ca t'irait :
sub moyenne
dim i,j,nbre,addition, indicateur, semaine as string
sheets"données").select
i=""
do while i=""
i = inputbox("Sur quelle semaine voulez-vous calculer la moyenne ?","Définition de la semaine")
if not isnumeric(i) then
i = msgbox("Vous n'avez pas tapé un chiffre, Voulez-vous continuer?",vbyesno,"Erreur dans la saisie de la semaine")
if i = 7 then
end sub
else
i=""
end if
else
if i < 0 or i > 53 then
i = msgbox("Vous avez pas tapé une semaine erronnée, Voulez-vous continuer?",vbyesno,"Erreur dans la saisie de la semaine")
if i = 7 then
end sub
else
i=""
end if
end if
end if
semaine = i
if semaine <> ""
i= 2
j =5
cells(i,j).select
do while cells(i,j) <> semaine
j=j+1
if cells(i,j)="" then
cells(i,j) = semaine
semaine = ""
end if
loop
if semaine = "" then
semaine = 2
i =msgbox ("La semaine saisie n'est pas dans le tableau! voulez-vous continuer?", vbyesno, "Erreur dans la saisie")
if i = 7 then
end sub
else
i=""
end if
end if
end if
loop
if semaine <> "" then
nbre=0
addition = 0
i=3
cells(i,3).select
indicateur = selection
do while indicateur <> ""
cells(i,j).select
nbre=selection + nbre
addition = addition +1
i=i+1
do while cells(i,3) = ""
i=i+1
nbre = nbre+cells(i,j)
addition = addition +1
loop
sheets("kpis").select
cells(semaine,2) = indicateur
cells(semaine,3) = nbre / addition
semaine = semaine +1
sheets("données").select
cells(i,3).select
indicateur = selection
loop
end if
end sub
Regarde si il n'y a pas d'ereur et si ca t'irait
Bonsoir,
Je n'ai pas dû avoir la même comprehension mais sait-on jamais...
J'ai supposé que les X en colonnes R, V, ... n'y étaient pas en réalité.
eric
Je n'ai pas dû avoir la même comprehension mais sait-on jamais...
J'ai supposé que les X en colonnes R, V, ... n'y étaient pas en réalité.
dercol = [IV3].End(xlToLeft).Column ' moyenne lignes 3 à 11 moy1 = Application.WorksheetFunction.Average(Range(Cells(3, dercol), Cells(11, dercol)))
eric