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 :

[Excel] Calcul d'une somme sous condition


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club Avatar de netsabes
    Inscrit en
    Mars 2005
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 82
    Points : 45
    Points
    45
    Par défaut [Excel] Calcul d'une somme sous condition
    Bonjour,

    voilà mon problème sous Excel :
    une liste de notes dans feuil2!A1:D1
    une liste de barêmes (note maximale) dans feuil1!A1:D1
    Je souhaite calculer la somme des notes divisée par la somme des barêmes pour lesquels il y a une note.

    Exemple :

    feuil1!A1:D1 = 4 / 5 / 3 / 7 (exo1 sur 4, exo2 sur 5, etc...)
    feuil2!A1:D1 = 2 / A / 1 / 6 (l'élève a eu 2 à l'exo1, absent à l'exo2, etc...)

    Le calcul que je veux, dans ce cas, est : (2+1+6)/(4+3+7) puisque l'élève a été absent à l'exo2, je ne veux pas tenir compte de cet exo.

    Comment faire ?

    SOMME.SI ? je ne vois pas comment...

    Merci de votre aide !!!

    Netsabes.

  2. #2
    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
    Points : 4 297
    Points
    4 297
    Par défaut
    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
     
     
    Function sommem(a As Range, b As Range) As Variant
    Dim resu As Double
    Dim boucle As Variant
    If a.Columns.Count = b.Columns.Count And a.Rows.Count = b.Rows.Count Then
    For Each boucle In b
    If IsNumeric(boucle) Then resu = resu + (a(boucle.Row, boucle.Column))
    Next boucle
    sommem = resu
    Else
    MsgBox ("nombre et critéres de tailles différentes")
    sommem = "#Erreur#"
    End If
    End Function

  3. #3
    Membre du Club Avatar de netsabes
    Inscrit en
    Mars 2005
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 82
    Points : 45
    Points
    45
    Par défaut Si, elle est belle la vie !
    Magnifique, et en plus, moi qui ne pratique pas VBA, j'ai tout compris !!! J'ai pas dit que je saurais refaire, mais j'ai tout compris.

    Et maintenant, quelle est la marche à suivre pour écrire cette fonction et l'utiliser ? S'utilise-t-elle comme n'importe quelle fonction prédéfinie ?

    Encore merci !!!

  4. #4
    Membre du Club Avatar de netsabes
    Inscrit en
    Mars 2005
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 82
    Points : 45
    Points
    45
    Par défaut bug
    Alors, à force de tourner et retourner le pb dans tous les sens, j'ai fini par piger :

    On envoie comme coordonnées boucle.row et boucle.column

    le tableau de notes est ailleurs qu'en 1,1, il y aura un décalage à effectuer.

    Ce décalage dépend de la cellule la plus en haut à gauche de mon tableau de maximum.

    Comment détermine-t-on la ligne et la colonne de la cellule la plus en haut à gauche d'un range ?

    Merci.

  5. #5
    Membre du Club Avatar de netsabes
    Inscrit en
    Mars 2005
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 82
    Points : 45
    Points
    45
    Par défaut
    Ok. J'ai trouvé, c'est bon.

    Je note au départ la ligne et la colonne de la première cellule parcourue, et je soustrais ces valeurs (à une unité près).

    Et ça roule !!!!


    Merci pour le coup de pouce initial !

    Netsabes.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Calcul d'une somme sous condition avec maccro
    Par ARG971 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/10/2013, 14h48
  2. [XL-2010] ventilation d'une somme sous conditions
    Par tompom3108 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 02/05/2012, 17h09
  3. Faire une somme sous condition
    Par passio dans le forum Excel
    Réponses: 3
    Dernier message: 12/01/2012, 23h09
  4. Calculer une somme sous conditions.
    Par Julieta dans le forum Excel
    Réponses: 1
    Dernier message: 22/02/2010, 19h36
  5. Faire une somme sous condition
    Par maystreet dans le forum Deski
    Réponses: 1
    Dernier message: 16/03/2009, 16h43

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