Classement suivant case à cocher

3dbillard

XLDnaute Junior
Bonjour à tous,
j'ai une feuille avec un classement automatique qui se fait selon des critères dans un ordre, je voudrais que si l'on coche une case le classement se fasse dans un autre ordre. Un petit fichier joint sera plus parlant, mon classement se fait suivant "Calcul".
Merci d'avance et bonne journée à tout le monde.
 

Pièces jointes

  • classement.xls
    28.5 KB · Affichages: 66
  • classement.xls
    28.5 KB · Affichages: 70
  • classement.xls
    28.5 KB · Affichages: 63

Softmama

XLDnaute Accro
Re : Classement suivant case à cocher

Bonjour 3dbillard,

essaie ce code :
VB:
Private Sub CheckBox1_Click()
    Range("S49:S51").FormulaR1C1 = IIf(CheckBox1, "=(RANK(RC[-6],R49C[-6]:R51C[-6])&RANK(RC[-5],R49C[-5]:R51C[-5])&RANK(RC[-2],R49C[-2]:R51C[-2]))*1", "=(RANK(RC[-6],R49C[-6]:R51C[-6])&RANK(RC[-4],R49C[-4]:R51C[-4])&RANK(RC[-3],R49C[-3]:R51C[-3])&RANK(RC[-2],R49C[-2]:R51C[-2]))*1")
End Sub

à mettre à la place de celui qui existe (et qui est vide)
 

3dbillard

XLDnaute Junior
Re : Classement suivant case à cocher

Bonjour si quelqu'un ou Softmama peut m'aider à modifier, la formule ci-dessus, car j'ai un autre fichier ou la première selection est "AS49:AS51" au lieu de "S49:S51". j'ai essayé de rajouter un A devant les sélections , mais j'ai du ratter quelque chose. Merci
 

Softmama

XLDnaute Accro
Re : Classement suivant case à cocher

bonjour,

si tu veux placer les formules en [AS49:AS51] au lieu de [S49:S51] il faut non seulement (comme tu l'as fait) modifier l'adresse concernée mais éfgalement décaler les références aux cellules de 26 colonnes (Colonne AS, située à 26 colonnes de la colonne S). Ainsi la macro devient logiquement :
VB:
Private Sub CheckBox1_Click()
    Range("AS49:AS51").FormulaR1C1 = IIf(CheckBox1, "=(RANK(RC[-32],R49C[-32]:R51C[-32])&RANK(RC[-31],R49C[-31]:R51C[-31])&RANK(RC[-28],R49C[-28]:R51C[-28]))*1", "=(RANK(RC[-32],R49C[-32]:R51C[-32])&RANK(RC[-30],R49C[-30]:R51C[-30])&RANK(RC[-29],R49C[-29]:R51C[-29])&RANK(RC[-28],R49C[-28]:R51C[-28]))*1")
End Sub
 

3dbillard

XLDnaute Junior
Re : Classement suivant case à cocher

Merci Softmama, la formule est en [AS49:AS51] mais le tableau est dans la continuité, un petit fichier en pièce jointe.
Merci du temps accordé.
 

Pièces jointes

  • classement2.xls
    42 KB · Affichages: 63
  • classement2.xls
    42 KB · Affichages: 68
  • classement2.xls
    42 KB · Affichages: 65

Softmama

XLDnaute Accro
Re : Classement suivant case à cocher

Re,

Bon ben ça a l'air de marcher, je ne vois pas ce qui t'ennuie. Cf. fichier joint

VB:
Private Sub CheckBox1_Click()
    Range("AS49:AS51").FormulaR1C1 = IIf(CheckBox1, "=(RANK(RC[-6],R49C[-6]:R51C[-6])&RANK(RC[-5],R49C[-5]:R51C[-5])&RANK(RC[-2],R49C[-2]:R51C[-2]))*1", "=(RANK(RC[-6],R49C[-6]:R51C[-6])&RANK(RC[-4],R49C[-4]:R51C[-4])&RANK(RC[-3],R49C[-3]:R51C[-3])&RANK(RC[-2],R49C[-2]:R51C[-2]))*1")
End Sub
 

Discussions similaires

Réponses
4
Affichages
336

Statistiques des forums

Discussions
312 465
Messages
2 088 656
Membres
103 910
dernier inscrit
amor57