XL 2013 Créer un classement conditionnel

dridriboulot

XLDnaute Nouveau
Bonjour à tous !

Je travaille sur un petit projet qui regroupe différents appels d'offre.

J'ai un tableur excel qui est constitué de 3 colonnes : numéro du projet, entreprises, montant soumis.

J'aimerais ajouter une colonne "Classement" qui classe les entreprises par projet suivant le montant soumis.

Par exemple, pour le projet 1, deux entreprises ont proposé un prix et je voudrais ajouter dans la ligne de celle qui a proposé le prix le plus bas mettre un 1 et pour la suivante mettre un 2 (dans la colonne classement). Et ainsi de suite.

Je pensais faire une macro mais je ne sais pas comment m'y prendre.

Je vous remercie par avance!:)

Adrien
 

Pièces jointes

  • Classement.xlsx
    9 KB · Affichages: 39
  • Classement.xlsx
    9 KB · Affichages: 43

Dranreb

XLDnaute Barbatruc
Re : Créer un classement conditionnel

Bonsoir.
Sans macro pour l'instant, vos données me semblant déjà classées convenablement par projets puis montants.
En D2, à propager sur 14 lignes :
Code:
=SI($A2=$A1;D1+1;1)
 

dridriboulot

XLDnaute Nouveau
Re : Créer un classement conditionnel

Merci pour votre réponse rapide !
En effet, la formule fonction très bien lorsque les données sont classées de cette manière. Sauf qu'en réalité ce n'est pas le cas! J'avais crée le classeur "exemple" de manière rapide et donc avec une certaine logique (montant par projet croissant suivant le numéro de projet).
Pensez vous que l'on puisse faire une macro pour faire ce tri et ensuite appliquer votre formule?
Merci d'avance!
 

Dranreb

XLDnaute Barbatruc
Re : Créer un classement conditionnel

En s'inspirant largement du produit de l'enregistreur de macro :
VB:
Sub Macro1()
With ActiveWorkbook.Worksheets("Feuil1").AutoFilter.Sort
   .SortFields.Clear
   .SortFields.Add Key:=Range("A1"), SortOn:=xlSortOnValues, _
      Order:=xlAscending, DataOption:=xlSortNormal
   .SortFields.Add Key:=Range("C1"), SortOn:=xlSortOnValues, _
      Order:=xlAscending, DataOption:=xlSortNormal
   .Header = xlYes
   .MatchCase = False
   .Orientation = xlTopToBottom
   .SortMethod = xlPinYin
   .Apply
   End With
With ActiveWorkbook.Worksheets("Feuil1").AutoFilter.Range
   .Columns("D").Rows(2).Resize(.Rows.Count - 1) _
      .FormulaR1C1 = "=IF(RC1=R[-1]C1,R[-1]C+1,1)"
   End With
End Sub
 

dridriboulot

XLDnaute Nouveau
Re : Créer un classement conditionnel

Super! Je viens de l'insérer dans mon classeur de travail et ca fonctionne parfaitement :D
A moi de comprendre la macro mnt !!
Je vous remercie pour la rapidité, la qualité de vos réponses et le temps que vous m'avez consacré !
Bonne soirée!
Cdlt,
Adrien
 

Discussions similaires

Réponses
2
Affichages
694

Statistiques des forums

Discussions
312 502
Messages
2 089 042
Membres
104 010
dernier inscrit
Freba