pour ton pb d'affichage il y a deux solutions :
soit un filtre :
dim xlwks as excel.worksheet
set xlwks = activesheet (ou autre feuille)
xlwks.Range(de ton tableau).Select exemple range("A1:E89" )
Selection.AutoFilter Field:=1 (la colonne pour le filtre), Criteria1:=valur saisi & "*" (cherchera tout ce qui commence par "valeur saisie" ), Operator:=xlAnd
ou alor tu supprime toutes les lignes qui ne contiennes pas ce que tu veux :
dim longueur,compteur as integer
longueur = len(la cellue ou textbox...où est sont saisi le champs de recherhce)
compteur = 0
for i = debu de ta bleau to fin de ton tableau
if mid(xlwks.cells(i-compteur,colonne du champs service),1,longueur) <> cellule de saisie then
xlwks.cells(i-compteur,colonne du champs service).entirerow.delete
compteur = compteur + 1
end if
next i
le compteur est nécessaire car tu supprime une ligne
ex : je supprime la ligne 25 alors la ligne 26 devien 25...