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 :

Sommer des cellules en fonction du contenu d'autres cellules


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 136
    Points : 70
    Points
    70
    Par défaut Sommer des cellules en fonction du contenu d'autres cellules
    Bonjour,

    Désolé, je pense que c'est simple, mais je ne trouve pas...

    J'ai des dates en colonne A, et des montants en colonne B

    Je souhaite additionner les montants de la colonne B pour lesquels la cellule A est inférieure ou égale à une date donnée (située en cellule D1 par exemple)

    Vous pouvez m'aider ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour Jnmab,

    Exemple en C1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD((A2:A100>=D1)*(B2:B100))

  3. #3
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 136
    Points : 70
    Points
    70
    Par défaut Formidable..
    merci Jacques Jean !!!

  4. #4
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 136
    Points : 70
    Points
    70
    Par défaut Je me suis réjouis trop vite...
    J'avais déclaré cette discussion "résolue", mais il n'en est rien.

    La formule proposée additionne les cellules A2 à A100 ; le résultat est donc TOUJOURS supérieur à la date située en D1.

    Ce que j'essaie d'obtenir, c'est la somme des montants situés sur chaque ligne dont la date est supérieure ou égale à D1.

  5. #5
    Membre confirmé
    Avatar de Bigalo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 445
    Points : 563
    Points
    563
    Par défaut
    Bonsoir,

    Il y a une ambiguïté dans ta demande (faute de frappe ?) : au départ, tu disais vouloir le total des montants pour lesquels la date est inférieure ou égale à la valeur en D1, alors que dans le dernier message, c’est supérieure ou égale.

    La formule que t'a indiqué Jacques_Jean

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD((A2:A100 >= D1) * B2:B100)
    répond au second cas (supérieur ou égal).

    Pour inférieur ou égal, c’est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD((A2:A100 <= D1) * B2:B100)
    Dans les 2 cas, les montants en colonne B ne sont additionnés que si la condition portant sur la colonne A est remplie pour la ligne correspondante :

    Pour chaque ligne, A2:A100 >= D1 (ou A2:A100 <= D1) renvoie VRAI ou FAUX. Dans le calcul effectué par SOMMEPROD(), VRAI est remplacé par 1, et FAUX par 0.

    Par conséquent, les montants en B ne sont pris en compte que si la date correspondante sur la ligne A remplit la condition : dans le cas contraire, le montant est multiplié par 0 avant d’être additionné !

    Cordialement,

    Michel Gaboly

  6. #6
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 136
    Points : 70
    Points
    70
    Par défaut
    Merci, je comprends mieux le principe.

    Sachant que je souhaite récupérer les montants entre 2 dates, une formule de ce type ne fonctionne pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMMEPROD(((A1:A100>F3)&(A1:A100<=F5))*(D1:D100))
    Comment dois-je l'écrire?

  7. #7
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 147
    Points
    20 147
    Par défaut
    bonjour

    tu peux essayer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMME((D1:D100)*(A1:A100>F3)*(A1:A100<=F5))

    bonne journée
    michel

  8. #8
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 136
    Points : 70
    Points
    70
    Par défaut hélas, non, ça ne marche pas..
    J'envoie l'exemple
    Fichiers attachés Fichiers attachés

  9. #9
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    bonjour,

    il faut utiliser SOMMEPROD et non SOMME :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =SOMMEPROD((D1:D100)*(A1:A100>F3)*(A1:A100<=F5))
    philippe

  10. #10
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 136
    Points : 70
    Points
    70
    Par défaut ça marche !!!
    merci !

  11. #11
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 147
    Points
    20 147
    Par défaut
    bonsoir


    il faut utiliser SOMMEPROD et non SOMME :
    Est ce que tu as essayé la formule ?
    Je reconfirme que la fonction SOMME renvoie le résultat correct.
    Je n'avais certes pas précisé qu'il faut valider la fonction par Ctrl+Maj+Entrée ... ;o)


    bonne soirée
    michel

  12. #12
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    bonjour silkyroad,

    en effet en validant comme ça, c'est bon...

    Merci pour la précision

    Philippe

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

Discussions similaires

  1. [XL-2010] Supprimer des lignes en fonction du contenu d'une cellule
    Par Ardiden31 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/05/2015, 08h49
  2. Réponses: 1
    Dernier message: 09/12/2014, 12h11
  3. Réponses: 6
    Dernier message: 16/06/2013, 14h43
  4. [XL-2003] Remplissage d'une cellule en fonction du contenu d'autres cellules.
    Par homer83140 dans le forum Excel
    Réponses: 27
    Dernier message: 13/01/2011, 16h39
  5. [XL-97] Changement valeur d'une cellule en fonction de valeurs d'autres cellules
    Par chubak62 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 09/01/2011, 10h21

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