Verifier si le classement est correct

Olive -  
gbinforme Messages postés 14930 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

1 réponse

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    Bonjour,

    Tu mets une mise en forme conditionnelle avec ta formule.
    0
    1. olive17873 Messages postés 3 Statut Membre
       
      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
    2. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      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
      1. olive17873 Messages postés 3 Statut Membre > gbinforme Messages postés 14930 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
    3. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      Bonsoir,
      Si tu as trouvé chaussure à ton pied tout va bien.
      0