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

Classement

maval

XLDnaute Barbatruc
Bonjour,

J'ai un petit souci avec mon code.
J'ai ajoutes une colonne avant la colonne "C" de la feuille nommé "Données" depuis je n'arrive pas a classer sa doit être a se niveau mais je ne c'est pas?
Code:
ActiveCell.FormulaR1C1 = "=Données!R[-1]C[-3]"

Code:
'Classement
Private Sub Worksheet_Activate()
Dim vTabl As Range
'ActiveSheet.Unprotect
    Range("F5").Select
    ActiveCell.FormulaR1C1 = "=Données!R[-1]C[-3]"
    Range("F5").Select
    Selection.AutoFill Destination:=Range("F5:F103"), Type:=xlFillDefault
    Range("F5:F103").Select
    Range("G5").Select
    ActiveCell.FormulaR1C1 = "=Données!R[-1]C[-3]"
    Range("G5").Select
    Selection.AutoFill Destination:=Range("G5:g103"), Type:=xlFillDefault
    Range("G5:g103").Select
    Range("E5").Select
    ActiveCell.FormulaR1C1 = "=Données!R[-1]C[3]"
    Range("E5").Select
    Selection.AutoFill Destination:=Range("E5:E103"), Type:=xlFillDefault
    Range("E5:E103").Select
    Range("h5").Select
    ActiveCell.FormulaR1C1 = "=Données!R[-1]C[-1]"
    Range("h5").Select
    Selection.AutoFill Destination:=Range("h5:h103"), Type:=xlFillDefault
    Range("h5:h103").Select
    Range("E5:h103").Select
    Selection.Sort Key1:=Range("E5"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    Range("A1").Select
    'ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

Merci de votre aide

Cordialement

Maval
 

Pièces jointes

  • Classement.xlsm
    24 KB · Affichages: 25
  • Classement.xlsm
    24 KB · Affichages: 37
  • Classement.xlsm
    24 KB · Affichages: 36

JCGL

XLDnaute Barbatruc
Re : Classement

Bonjour à tous,

Peux-tu essayer ceci :

VB:
'ClassementPrivate Sub Worksheet_Activate()
    Dim vTabl As Range
    'ActiveSheet.Unprotect
    Range("D5").Formula = "=Données!R[-1]C[5]"
    Range("E5").Formula = "=Données!R[-1]C[-4]"
    Range("F5").Formula = "=Données!R[-1]C[-4]"
    Range("G5").Formula = "=Données!R[-1]C[1]"
    Range("D5:G5").AutoFill Destination:=Range("D5:G102")
    With ActiveWorkbook.Worksheets("Classement").Sort
    .SortFields.Clear
    .SortFields.Add Key:=Range("G5:G102"), SortOn:=xlSortOnValues, Order:=xlDescending
    .SetRange Range("D4:G102")
    .Header = xlYes
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
End With
Range("A1").Select
'ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

A + à tous
 

Pièces jointes

  • JC Classement.xlsm
    29.2 KB · Affichages: 33
  • JC Classement.xlsm
    29.2 KB · Affichages: 37
  • JC Classement.xlsm
    29.2 KB · Affichages: 33
Dernière édition:

maval

XLDnaute Barbatruc
Re : Classement

Bonsoir JCGL,

Merci beaucoup pour le code il y a juste un détail pourquoi il se classe pas du plus fort vers le moins fort sur la colonne "C" de la feuille Classement?

Merci et bonne soirée

Max
 

JCGL

XLDnaute Barbatruc
Re : Classement

Bonjour à tous,

Parce que je lui ai demandé...

Change Order:=xlDescending par Order:=xlAscending

Mais je pense qu'il faudra modifier les formules en mettant une condition.

A + à tous
 

Discussions similaires

Réponses
7
Affichages
431
Réponses
7
Affichages
384
  • Question
Microsoft 365 Formules
Réponses
2
Affichages
483
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…