Salut Pilougne,
je te remercie de ta confiance que j'espère encore mériter après ce fichier!
Comme je te l'avais suggéré, sans repère objectif et calculable pour retrouver le n° de ligne par les recherches classiques, j'ai mis au point un système sans USF, la recherche étant réalisée directement dans la BDD via 2 TextBox commandées par un petit bouton que tu ne pourras pas rater.
Un clic sur ce bouton vert lance la recherche en affichant les 2 TextBox en ligne 1, rehaussée pour les besoins de la cause quoique on pourrait très bien ramener cette ligne 1 à une hauteur normale hors phase de recherche. Mais bon...
La TextBox de gauche est réservée au critère 'Colonne A' (texte que tu peux taper en minuscule), la seconde à la 'Colonne B' (uniquement des chiffres).
La sélection se fait par élimination progressive des lignes que le calcul cache ou non selon les critères définis par les TextBox.
Le critère 'Colonne B' sera toujours un nombre entier, le calcul ne gardant que les valeurs inférieures : par exemple, taper 10 cachera toutes les lignes dont cette valeur en colonne B est supérieur à 10. Pour ne garder que les valeurs inférieures à 1... taper 1.
Quand tu as ciblé la ligne voulue, un clic sur cette ligne la colore de gris pour bien la repérer : les corrections que tu veux y apporter peuvent commencer. Un nouveau clic éteint la ligne.
Si tu veux abandonner la recherche sans sélectionner de ligne, tu cliques sur le bouton (rouge en phase de recherche) et tout revient à la normale, le bouton virant au vert.
Public Sub Calcul()
'
iRow = Range("A" & Rows.Count).End(xlUp).Row
tTab = Range("A2:B" & iRow)
sTxt = Me.txtBDD1.Text
iTxt = Val(Me.txtBDD2.Text)
'
For x = 1 To UBound(tTab, 1)
sTab = LCase(tTab(x, 1))
Rows(x + 1).Hidden = IIf(Left(sTab, Len(sTxt)) = sTxt And iTxt > tTab(x, 2), False, True)
Next
'
End Sub
A tester en grandeur réelle! Si un dysfonctionnement apparaît, tu sais où appeler!
Bon travail!
A+