XL 2016 Classement de prix par articles

Jovial87

XLDnaute Nouveau
Bonjour,

Je cherche, depuis deux semaines sans succès, à faire un classement de prix (colonne H) par Article (colonne C), de sorte que le prix d'article le moins cher ait 1 (colonne J), le suivant 2, ..., pour le même article. Le classement recommence à l'article suivant.
Les ex-æquo de prix de la même série de l'article reçoivent les mêmes numéros de classement.

avec la formule (trouvee sur le forum, merci a ALS35), j'obtiens un resultat satisfaisant, sauf que, après les ex-æquo, elle saute un numéro, par ex., 1, 1, 3, ... ou 1, 2, 2, 4, ... au lieu de 1, 1, 2, ... ou 1, 2, 2, 3,

=NB.SI.ENS(C$14:C$1013;C14;H$14:H$1013;"<"&H14)+1

Merci d'avance a tous ceux qui vont m'aider a resoudre ce souci!
 

Pièces jointes

  • Tri fournisseurs par item.xlsm
    14.9 KB · Affichages: 14

Jovial87

XLDnaute Nouveau
Bonjour sylvanu, fanfan38

Merci beaucoup pour vos nobles interventions.

Papa sylvanu, je voudrais classer les prix par article. Ce veut dire que, a chaque nouveau article, recommencer le classement,

Papa fanfan38, la macro présente un bug. si ça marchait, ce serait la solution idéale pour moi.

En tout cas, merci pour votre implication.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re,
@Jovial, désolé ça m'avait échappé.
Un autre essai en PJ. Tout est automatique.
a chaque modification d'une valeur dans la colonne Prix Unit, la colonne Tri se remet à jour automatiquement.

@Fanfan, j'ai le même problème sur mon PC , erreur 438, sur :

1613325564072.png

A
 

Pièces jointes

  • Tri fournisseurs par item (3).xlsm
    22.4 KB · Affichages: 3

fanfan38

XLDnaute Barbatruc
Bonjour
C'était une macro enregistrée… que j'avais modifiée…
VB:
   With Sheets("Step1 - PriceSelect")
        .Sort.SortFields.Clear
        Set maplage = .Range("C14:C" & dl)
        .Sort.SortFields.Add Key:=maplage, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        Set maplage = .Range("H14:H" & dl)
        .Sort.SortFields.Add Key:=maplage, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        With .Sort
            .SetRange Range("A13:K" & dl)
            .Header = xlGuess
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    End With

A+ François
merci Sylvanu
 

Pièces jointes

  • Tri fournisseurs par item.xlsm
    23.3 KB · Affichages: 4

Jovial87

XLDnaute Nouveau
Bonjour
C'était une macro enregistrée… que j'avais modifiée…
VB:
   With Sheets("Step1 - PriceSelect")
        .Sort.SortFields.Clear
        Set maplage = .Range("C14:C" & dl)
        .Sort.SortFields.Add Key:=maplage, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        Set maplage = .Range("H14:H" & dl)
        .Sort.SortFields.Add Key:=maplage, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        With .Sort
            .SetRange Range("A13:K" & dl)
            .Header = xlGuess
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    End With

A+ François
merci Sylvanu
Bonjour fanfan,

Merci pour cette excellente intervention.

Deux petits soucis:
- Quand on execute la macro, elle deplace l'entete pour la placer a la derniere ligne;
- Si l'une de cellule de la colonne ''C '' est vide, la cellule correspondante en colonne ''J'' devrait l'etre aussi
 

Jovial87

XLDnaute Nouveau
Bonjour Jovial,
Vous avez testé la PJ du post #8 juste par curiosité ?
Bonjour,
Certainement. Et merci beaucoup de l'intéret que vous avez accordé a ma préoccupation.
Seulement, selon le code, le classement se fait sur l'ensemble de la liste et non article par article comme souhaité.

Je vous joins le modele fait manuellement pour plus de comprehension. Vous pouvez verifier que le classement de prix se fait par article!
 

Pièces jointes

  • Classement de prix par article.xlsm
    15.1 KB · Affichages: 5

Discussions similaires

Réponses
15
Affichages
409

Statistiques des forums

Discussions
312 330
Messages
2 087 349
Membres
103 526
dernier inscrit
HEC