Tableau recapitulatif d'operation achat/vente

Tableau recapitulatif d'operation achat/vente - VB/VBA/VBS - Programmation

Marsh Posté le 18-08-2008 à 11:04:58    

Bonjour tout le monde, a la recherche d'un brin d'aide, je vous explique ma situation
 
Je souhaite mettre en place un tableau récapitulatif.
 
Colonne 1 : Nom
Colonne 2 : Quantité
Colonne 3 : Prix Unitaire
Colonne 4 : Achat/Vente
Et donc mon problème est le suivant,
les quantités s'ajoutent ou ce retranchent suivant qu'ils s'agissent d'un achat ou d'une vente (normale).
Or, étant un récapitulatif, il faudra que je fasse sur une ligne la somme des quantités achetées moins celle vendues pour un nom, qui doit être recherché dans un autre tableau.
 
J'ai essayé la fonction rechercheV mais je n'arrive qu'a renvoyer des quantités par lignes alors que je voudrais qu'elles s'ajoutent.
 
Exemple:
Recherche de toutes les opérations concernant Paul dans le tableau principal, puis pour chaque occurrence, ajouté ou retranché suivant que l'opération soit un achat ou une vente.  
 
Je me demandais si une macro pouvait être mise en place pour effectuer cette opération

Reply

Marsh Posté le 18-08-2008 à 11:04:58   

Reply

Marsh Posté le 18-08-2008 à 11:55:17    

Une solution consisterait à ajouter une colonne contenant la quantité positive si c'est un achat et la quantité négative si c'est une vente (ou l'inverse), avec une macro.
Par exemple,

colonne 5 (E) = Quantité signée. Macro : =SI(D1="A";B1;-B1)
colonne 6 (F) = Montant opération. Macro : =E1*C1
total en bas de la colonne 6 : =SOMME(F1:F30)

Reply

Marsh Posté le 18-08-2008 à 12:25:08    

Ok, cette solution marche evidemment, et je t'en remercie, mais mon vrai est en fait de faire une somme selective, par le nom. ce qui n'est pas possible meme avec des colonnes supplementaire

Reply

Marsh Posté le 18-08-2008 à 12:56:20    

Pour cela, j'utilise SOMME.SI sur des plages (ah, les souvenirs d'été du sable chaud)
En continuant avec les colonnes définies précédemment, j'applique la macro

=SOMME.SI(A1:A30;"abc";F1:F30)

Quand une cellule de la plage A1:A30 (première colonne) = "abc", alors la somme se fait sur le nombre qui se trouve en face dans la plage F1:F30 (colonne des montants signés). J'ai testé, et ça marche.


Message édité par olivthill le 18-08-2008 à 12:57:37
Reply

Marsh Posté le 19-08-2008 à 09:47:55    

Ca marche super, merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed