Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
367
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…