Verifier si le classement est correct

Olive -  
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   -
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



A voir également:

1 réponse

gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
Bonjour,

Tu mets une mise en forme conditionnelle avec ta formule.
0
olive17873 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour, Merci pour ta réponse. La formule est pour le moment du depannage. J'aimerai automatiser cela par du vba. D'autre part, la mise en forme conditionnelle ne me servira pas si je passe en vba, non ? ;-)
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
Bonjour,
la mise en forme conditionnelle ne me servira pas si je passe en vba, non ?
C'est une erreur de penser ainsi.
Il faut d'abord utiliser les fonctionnalités d'excel natives qui sont bien plus efficaces et ensuite l'on ne passe à VBA que pour des traitements itératifs non natifs.
0
olive17873 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   > gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention  
 
Bonjour 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
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
Bonsoir,
Si tu as trouvé chaussure à ton pied tout va bien.
0