Verifier si le classement est correct
Bonjour à tous,
J'ai 2 colonnes AG = place et AH = Perf
Je tri les 2 colonnes par Perf
J'aimerai savoir si les chiffres, dans la colonne place, se suivent. Si ce n'est pas le cas, colorer les cellules qui ne se suivent pas.
J'ai fais la formule, en AI :
=IF(RC[-2]<R[1]C[-2],TRUE,FALSE), qui marche, mais je voudrais automatiser cela, en evitant de tirer la cellule (code vba ?).
Je vous remercie d'avance.
Bonne journée
J'ai 2 colonnes AG = place et AH = Perf
Je tri les 2 colonnes par Perf
J'aimerai savoir si les chiffres, dans la colonne place, se suivent. Si ce n'est pas le cas, colorer les cellules qui ne se suivent pas.
J'ai fais la formule, en AI :
=IF(RC[-2]<R[1]C[-2],TRUE,FALSE), qui marche, mais je voudrais automatiser cela, en evitant de tirer la cellule (code vba ?).
Je vous remercie d'avance.
Bonne journée
1 réponse
-
ContributeurBonjour,
Tu mets une mise en forme conditionnelle avec ta formule.-
-
-
@gbinformeBonjour gbinforme,
Finalement, j'ai peux être trouvé la solution. Ce n'est pas terrible, largement ameliorable, mais ca fonctionne :
Sub testClassement()
'tri par perfs
Sheets("test").Select
Range("H7").EntireColumn.SpecialCells(xlCellTypeConstants).Select
Selection.Offset(2, 0).Resize(Selection.Rows.Count - 2).Select
Selection.Resize(Selection.Rows.Count + 0, _
Selection.Columns.Count + 42).Select
Selection.Sort Key1:=Range("AH7"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'verifie si place 1 est < a place 2...etc...
Range("AG7").EntireColumn.SpecialCells(xlCellTypeConstants).Select
Selection.Offset(2, 0).Resize(Selection.Rows.Count - 2).Select
Set SourceRange = Selection
Set fillRange = Selection.Offset(0, 2)
Range("AI7").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-2]<R[1]C[-2],TRUE,FALSE)"
Selection.AutoFill Destination:=fillRange
'Met en rouge les cellules en "faux"
Dim CurCell As Range
For Each CurCell In fillRange
If CurCell.Value = "Faux" Then CurCell.Interior.ColorIndex = 3
Next
End Sub -
-