Somme et Classement de ces sommes sur un grand nombre de lignes

bricoloman

XLDnaute Nouveau
Bonjour à tous,

J'ai un problème qui semble insoluble au profane que je suis :

J'ai un fichier qui est une liste d'achat, j'aimerais pouvoir dans ce fichier

1 - Classer les fournisseurs du plus grand au plus petit
2 - Connaitre la somme des achats chez chaque vendeur

Dans le fichier joint le vendeur est la colonne D, la somme totale par ligne est dans la colonne HT (le fichier joint est un petit extrait, le fichier réel fait 18 000 lignes).

Est ce que cela est possible?

Merci d'avance pour votre aide
 

Pièces jointes

  • SAF FRA 1SEM2012 W2.zip
    87.5 KB · Affichages: 18
  • SAF FRA 1SEM2012 W2.zip
    87.5 KB · Affichages: 18
  • SAF FRA 1SEM2012 W2.zip
    87.5 KB · Affichages: 19

JHA

XLDnaute Barbatruc
Re : Somme et Classement de ces sommes sur un grand nombre de lignes

Bonjour à tous,

Peut être un TCD

JHA
 

Pièces jointes

  • SAF FRA 1SEM2012 W2.zip
    147.2 KB · Affichages: 18
  • SAF FRA 1SEM2012 W2.zip
    147.2 KB · Affichages: 18
  • SAF FRA 1SEM2012 W2.zip
    147.2 KB · Affichages: 17

bricoloman

XLDnaute Nouveau
Re : Somme et Classement de ces sommes sur un grand nombre de lignes

Bonsoir JHA,

Merci pour l'idée et l'exemple mais je cherche à établir un classement avec les sommes à côté.

Désolé si je n'ai pas été clair dans ma demande précédente.

Slts

Bricoloman
 

Theze

XLDnaute Occasionnel
Re : Somme et Classement de ces sommes sur un grand nombre de lignes

Bonsoir,

Une piste. Attention, les noms des vendeurs ou fournisseurs doivent absolument être inscris dans toutes les lignes afin que les totaux soit justes (j'utilise la fonction Countif afin de sauter de vendeur en vendeur pour plus de rapidité) :
Code:
Sub Totaliser()

    Dim Plage As Range
    Dim I As Long
    Dim J As Long
    Dim K As Long
    
    With Worksheets("Feuille1")
        
        'défini la plage à partir de A2 à I ?
        Set Plage = .Range(.Cells(2, 1), .Cells(.Rows.Count, 9).End(xlUp))
    
        'tri croissant <-- obligatoire !
        Plage.Sort Columns(4), 1
        
        'commence à 1 pour éviter la ligne d'entêtes
        J = 1
        
        'commence aussi à 1 afin de pouvoir incrémenter "I" de 1 lors des totaux
        For I = 1 To Plage.Rows.Count
            
            K = K + Application.CountIf(Plage.Columns(4), Plage.Columns(4).Cells(I, 1))
            
            'inscrit les sous-totaux les uns à la suite des autres
            J = J + 1
            
            'inscrit le nom du vendeur ou fournisseur ? en colonne J
            .Cells(J, 10) = Plage.Columns(4).Cells(I, 1)
            
            'et inscrit son total en colonne K
            .Cells(J, 11) = Application.Sum(.Range("E" & I + 1 & ":E" & K + 1))
            
            'saute au vendeur suivant
            I = K
            
        Next I
    
    End With

End Sub

Hervé.
 

R@chid

XLDnaute Barbatruc
Re : Somme et Classement de ces sommes sur un grand nombre de lignes

Bonjour @ tous,
Ton fichier n'est pas clair, tu parles des fournisseurs et vendeurs et tu dis que la colonne des vendeurs est la colonne D alors qu'elle est la colonnes des forunisseurs....
Sur le fichier, tu dois mettre un début de résultats que tu souhaites obtenir comme ça on peut peut-être t'aider sinon une petite modification sur la réponse de notre ami JHA et tout ira...
@ +
 

Pièces jointes

  • SAF FRA 1SEM2012 W2.xlsx
    211.6 KB · Affichages: 308

bricoloman

XLDnaute Nouveau
Re : Somme et Classement de ces sommes sur un grand nombre de lignes

Bonjour Rachid,

C'est vrai que je n'ai pas été très clair. Je vais essayer de m'expliquer.

Fournisseur = Vendeur

Dans le fichier joint j'ai remplacé "fournisseur" par "vendeur" dans la colonne D.

Dans la feuille "résultat" j'ai mis un exemple pour les vendeurs A à H (calcul avec des sommes + un tri en manuel) du résultat que je cherche à obtenir en automatique.

Il est important de préciser que le nombre de lignes pour chaque vendeur est aléatoire.

Merci

Bricoloman
 

bricoloman

XLDnaute Nouveau
Re : Somme et Classement de ces sommes sur un grand nombre de lignes

Re-bonjour,

Je n'avais pas joint le fichier. Le voici.

Merci

Bricoloman


Bonjour Rachid,

C'est vrai que je n'ai pas été très clair. Je vais essayer de m'expliquer.

Fournisseur = Vendeur

Dans le fichier joint j'ai remplacé "fournisseur" par "vendeur" dans la colonne D.

Dans la feuille "résultat" j'ai mis un exemple pour les vendeurs A à H (calcul avec des sommes + un tri en manuel) du résultat que je cherche à obtenir en automatique.

Il est important de préciser que le nombre de lignes pour chaque vendeur est aléatoire.

Merci

Bricoloman
 

Pièces jointes

  • SAF FRA 1SEM2012 W3.zip
    88.1 KB · Affichages: 16

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Somme et Classement de ces sommes sur un grand nombre de lignes

Bonjour à tous et meilleurs vœux pour l'année qui commence

Voir solution en pièce jointe

à+
Philippe
 

Pièces jointes

  • 111.xls
    351 KB · Affichages: 38
  • 111.xls
    351 KB · Affichages: 85
  • 111.xls
    351 KB · Affichages: 43

bricoloman

XLDnaute Nouveau
Re : Somme et Classement de ces sommes sur un grand nombre de lignes

Bonjour Philippe,

Merci pour cette solution, c'est vraiment très sympa.

Je me demande s'il est possible d'améliorer encore pour automatiser et coller à ma réalité.

Si je comprends bien tu a réécrit la liste des vendeurs dans la feuille résultat sur la colonne F, dans mon exemple il n'y a que 26 vendeurs différents et qui ont comme nom une seule lettre (Corrige moi si je me trompe).

Pas de difficulté pour ce petit fichier, mais dans le cas ou il y a plus de 300 vendeurs qui portent des noms plus ou moins longs et compliqués ça sera plus fastidieux.

Y a t il une possibilité de ramener par formule le nom de chaque vendeur en face de chaque somme?

Merci et Bonne Année à tous.

Bricoloman
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Somme et Classement de ces sommes sur un grand nombre de lignes

Re,
Y a t il une possibilité de ramener par formule le nom de chaque vendeur en face de chaque somme?
par formule, c'est possible mais je ne suis pas trop à l'aise avec les formules :(

voici une solution par macro

à+
Philippe
 

Pièces jointes

  • 111.xlsm
    160 KB · Affichages: 191
  • 111.xlsm
    160 KB · Affichages: 224
  • 111.xlsm
    160 KB · Affichages: 220

bricoloman

XLDnaute Nouveau
Re : Somme et Classement de ces sommes sur un grand nombre de lignes

Phil,

Une dernière question, après j’arrête promis.

Ta macro va jusque 261 vendeurs, en vérifiant mon fichier de référence, il y en a 351.

Est il possible de faire la même macro mais prenant en charge 400 ou 500 vendeurs?

Merci

Bricoloman
 

Discussions similaires

Statistiques des forums

Discussions
312 896
Messages
2 093 387
Membres
105 716
dernier inscrit
jrmdprt