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

Excel Discussion :

Somme selon deux critères [XL-2007]


Sujet :

Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 22
    Points : 10
    Points
    10
    Par défaut Somme selon deux critères
    Bonjour à tous,

    Voici mon problème: j'ai un tableau dans lequel sont listés chronologiquement des opérations d'entrée et de sortie de stock de produits identifiés par un code produit, avec pour chacune la quantité entrée ou sortie.
    J'ai un autre tableau où je voudrais faire apparaître automatiquement le stock disponible pour chaque produit (toujours identifié par un code produit), sachant que la liste des produits est susceptible d'être agrandie. J'ai essayé avec SOMME.SI() (cf screenshot ci-joint) mais sans succès.

    Auriez-vous une idée?

    Aal'k
    Images attachées Images attachées  

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Il faut passer par deux SOMME.SI.ENS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMME.SI.ENS($E$4:$E$17;$D$4:$D$17;"P702673";$C$4:$C$17;"Entrée")-SOMME.SI.ENS($E$4:$E$17;$D$4:$D$17;"P702673";$C$4:$C$17;"Sortie")
    Je pense qu'il doit être possible de mettre tout ça dans un seul SOMMEPROD ou un SOMME matriciel.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 22
    Points : 10
    Points
    10
    Par défaut
    Merci pour ta réponse rapide Menhir, mais mon problème n'est pas de compter les entrées positivement et les sorties négativement (je leur affecte déjà un signe + ou - quand je les ajoute au tableau récapitulatif).

    En gros, ce que j'aimerai qu'Excel fasse, c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    For LignTabStock=4 To DernièreLigneTabStock   'Pour chaque ligne du tableau de stock
                     For LignTabRécap=4 To DernièreLigneTabRécap   'Pour chaque ligne du tableau récap
                             If Cells(D & "LignTabRécap").Value=Cells(L & "LignTabStock").Value Then    'Cette ligne concerne-t-elle mon produit stocké?
                                    Cells(L & "LignTabStock").Value=Cells(L & "LignTabStock").Value + Cells(F & "LignTabRécap).Value     'Oui -> Ajouter la masse brute entrée ou sortie à la masse brute stockée correspondant à ce produit
                             Else   'Non -> ne rien faire
                             End If
                     Next
               Next

    J'aurais aimé savoir si c'était possible sans code, juste avec les fonctions du classeur Excel.

  4. #4
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Petit détail liminaire : dans ton code, tu mets la même désignation de colonne (L) pour le code produit et sa quantité en stock.
    On va supposer que la quantité en stock est dans la colonne M.
    De plus, la quantité que tu ajoutes dans le code est issu de la colonne F. Or, dans ton tableau, cette colonne donne la masse.
    Je vais partir sur ce qu'indique le tableau.

    Tu ne peux pas mettre dans une même cellule l'état initial du stock et le résultat d'une fonction.
    Donc, si tu veux faire ça, il faudra avoir deux cellules différentes (pour chaque produit) : le stock initial et les mouvement.

    C'est d'ailleurs ainsi que fonctionne toute gestion de stock : il faut différencier les mouvements et l'inventaire.
    Ce dernier permet de recadrer régulièrement le stock et vérifier si des mouvements n'ont pas été oubliés.

    Quand on fait un inventaire, on remets à jour le stock initial et on repart à vide pour les mouvements.

    Donc, tu mets en colonne L ton stock initial.
    En supposant que tes mouvements ailles jusqu'à la ligne 100, tu mets en N4 la formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =M4+SOMME.SI($D$4:$D$100;L4;$E$4:$E$100)
    A copier sur les lignes du dessous autant que nécessaire.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2016
    Messages : 22
    Points : 10
    Points
    10
    Par défaut
    Désolé, effectivement c'est une faute de frappe de ma part (la fatigue..), je voulais dire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(M & "LignTabStock").Value=Cells(M & "LignTabStock").Value + Cells(F & "LignTabRécap).Value     'Oui -> Ajouter la masse brute entrée ou sortie à la masse brute stockée correspondant à ce produit
    De plus quand je parlais de "quantité", je pensais à la masse brute, puisque c'est la grandeur qui est comptabilisée dans le stock. Désolé pour les imprécisions d'énoncé

    Mais merci pour ta piste, je pense que c'est ce qu'il me manquait!

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

Discussions similaires

  1. [XL-2003] Somme suivant deux critères
    Par pouldom dans le forum Excel
    Réponses: 12
    Dernier message: 15/12/2011, 07h24
  2. Réponses: 4
    Dernier message: 08/12/2011, 13h39
  3. [XL-2003] Additionner sommes selon 2 critéres dans UserForm
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/01/2010, 08h41
  4. [XL-2003] Somme selon deux critères
    Par arnest dans le forum Excel
    Réponses: 1
    Dernier message: 13/01/2010, 09h07
  5. Somme selon 2 critères.
    Par marc56 dans le forum Excel
    Réponses: 6
    Dernier message: 16/03/2009, 13h26

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