IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Moyenne de n notes


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 62
    Par défaut Moyenne de n notes
    Bonjour tout le monde,
    Je voulais tenter l'exo suivant avec la boucle for. Calculer la moyenne de n notes (sans coefficients). Le souci qui me pose, c'est que lorsque je veux déclarer des paramètres.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Function moyenne (Byval X1 As integer, X2 As integer, . . .  Xn As integer
    Je sais c'est faux mais voilà je ne sais pas comment aborder ce problème. J'aimerais bien que vous m'aidiez s'il vous plaît. Merci

  2. #2
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    SAlut

    Tu as, deja, une premiere approche qui consiste a utiliser les outils present dans excel, qui te permette de la faire avec 30 argument
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Application.WorksheetFunction.Average(Arg1,Arg2,....)
    Autrement si tu veux "refaire" une telle fonction tu peux metre carrement As range dans tes paramettres

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Function MaMoyenne (Mescellules as range) as double
    As range pouvant representer une ou plusieur cellules tu pourra utiliser MesCellules.count pour en connaitre le nombre.

    Puis ton calcu sur tes cellules en faisant par exemple une boucle sur toutes les cellules selectionnées

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim UneCel As Range
    Dim DblMoyen As Double
    For each UneCell In MesCellules
      ....DblMoyen = CDbl(UneCell.value) //On transtype les valeur contenu dans la cellule (attention il serrai bien de verifier avant que ce contenu est numeric)
      ....
     
      MaMoyenne = DblMoyen //On transmet le resultat du calcul
    Next
    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Par défaut
    il faut utiliser paramarray ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    Function paramet(ParamArray x() As Variant) As Variant
    ' x peut recevoir une liste de valeurs ou un ou plusieurs range ou un ou lusieurs tableaux
    ' ou une combinaison de ces éléments
    Dim boucle1 As Variant
    Dim boucle2 As Variant
    For Each boucle1 In x
       If IsArray(boucle1) Then
       'dans ce cas l'élément est un range ou un tableau et on va lire son contenu
                For Each boucle2 In boucle1
                MsgBox (boucle2)
                Next boucle2
       Else
       'on a affaire a un élément isolé
       MsgBox (boucle1)
       End If
    Next boucle1
    paramet = True
    End Function
    en mode feuille de calcul cela donne =paramet(A1:A2;17;36;{1;7;9};A10:A11)
    où j'ai choisi pour paramètres deux ranges trois nombres et une matrice

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 62
    Par défaut
    Bonjour,
    Excusez-moi je suis vraiment desolé de vous annoncer que la notion de worksheet function ni mescellules je n'ai jamais entendu parler. Je sais que je suis vraiment chiant. Pardon

  5. #5
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    SAlut
    alors pour worksheet fonction c'est un objet qui permet d'acceder au fonction d'excel un petit F1 devrait t'en dire d'avantage.

    Pour MesCellule ca n'est pas un mot clé, c'est uniquement un nom de paramettre que j'ai choisi et defini c'est tout.

    Peut etre devrais tu nous en dire plus sur ce que tu souhaites realiser, nous pourrions peut etre te proposé des solution plus en rapport avec ce que tu cherche exactement.

    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 62
    Par défaut
    Bonsoir,
    en fait je veux calculer la moyenne de n notes en utilisant la boucle for en posant i variant de 0 à n. Merci

Discussions similaires

  1. moyenne des notes, min, max
    Par abbaplatin dans le forum C++Builder
    Réponses: 4
    Dernier message: 31/12/2018, 14h35
  2. un programme de calcul d'une note moyenne mais
    Par Dr walid dans le forum Débuter
    Réponses: 2
    Dernier message: 09/10/2009, 21h28
  3. [Tableaux] Trier un tableau par note moyenne
    Par Jiraiya42 dans le forum Langage
    Réponses: 14
    Dernier message: 23/09/2007, 23h55
  4. [Tableaux] Tableau de notes + moyenne
    Par lordbdp dans le forum Langage
    Réponses: 4
    Dernier message: 19/03/2007, 22h34
  5. Calcul de note puis moyenne
    Par kOrt3x dans le forum Ada
    Réponses: 7
    Dernier message: 06/11/2006, 10h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo