Equiv Recherche

Donc, je propose la modification comme suit :

Function RecoupeA(cel As Range) As Long
RecoupeA = Cells(Rows.Count, "A").End(xlUp).Row + 1
For i = cel.Row To Cells(Rows.Count, "A").End(xlUp).Row
    If Cells(i, "A") <= cel.Value And Cells(i + 1, "A") >= cel.Value Then
        RecoupeA = i - cel.Row
        Exit For
    End If
Next
End Function

C'est-à-dire que

1- je balaye toute la colonne A jusqu'au bout Cells(Rows.Count, "A").End(xlUp).Row

2- j'initialise la valeur de la fonction à la dernière ligne +1, donc la ligne juste en dessous de la dernière pour éviter la confusion, mais tu peux changer cette valeur Cells(Rows.Count, "A").End(xlUp).Row + 1

=> le 0 devient donc bien significatif

Donc, je propose la modification comme suit :

Function RecoupeA(cel As Range) As Long
RecoupeA = Cells(Rows.Count, "A").End(xlUp).Row + 1
For i = cel.Row To Cells(Rows.Count, "A").End(xlUp).Row
    If Cells(i, "A") <= cel.Value And Cells(i + 1, "A") >= cel.Value Then
        RecoupeA = i - cel.Row
        Exit For
    End If
Next
End Function

C'est-à-dire que

1- je balaye toute la colonne A jusqu'au bout Cells(Rows.Count, "A").End(xlUp).Row

2- j'initialise la valeur de la fonction à la dernière ligne +1, donc la ligne juste en dessous de la dernière pour éviter la confusion, mais tu peux changer cette valeur Cells(Rows.Count, "A").End(xlUp).Row + 1

=> le 0 devient donc bien significatif

1) Oui, toute la colonne A.

2)Faites le s'il vous plait. Je n'ose toucher à rien tellement je suis content d'avoir une solution efficace après tant de galères. D'accord avec le 0 qui ne prêtera plus à confusion.

Merci beaucoup.

Max

pj

3equiv-3.xlsm (28.56 Ko)

pj

Trop génial Magic Steelson.

Vous n'avez pas idée de l'énormité du service que vous m'avez rendu.

Mille mercis et que du bonheur!!!!!!

Max

Rechercher des sujets similaires à "equiv recherche"