1 pièce(s) jointe(s)
Probleme code recherche VBA excel
j'ai essaye de cree un formulaire de recherche sur excel 2007 a partie de ce code :
c'est un formulaire avec une textbox (ou il faut rentrer le terme ou les mot cles que l'on cherche),une listbox(ou s'affiche les resultats) et un un bouton de commande(pour lancer la recherche),le code ci-dessous est celui que j'ai mis dans le bouton de commande.
le formulaire étant présent sur la feuille TDB doit faire ses recherches sur la feuille source.
le document excel est compose de 2 feuilles,une feuille ''TDB'' et une feuille ''source''.
le problème c'est que des que je lance la recherche ca me donne : ''erreur de compilation : argument nomme introuvable'' et c met ''Private Sub CommandButton1_Click()'' en jaune.
rappel que je suis qu'un simple beginner,donc je vous remercie d'avance pour des réponses amiable pour les débutants.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| Private Sub CommandButton1_Click()
Dim ws As Worksheet
Dim lastrow As Long
Dim str As String
Dim rng As Range, rng2 As Range
Dim firstcell As String
Set ws = Sheets("source")
lastrow = ws.Range("P" & Rows.Count).End(xlUp).Row
str = TextBox1.Value
Set rng = ws.Range("P1:P" & lastrow).Find(What:=str, Lookln:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, Searchformat:=False)
If Not rng Is Nothing Then
ListBox1.AddItem rng.Address
firstcell = rng.Address
Set rng2 = rng
Do
Set rng2 = ws.Range("P1:P" & lastrow).FindNext(after:=rng2)
If Not rn2 Is Nothing Then
If rn2.Address = firstcell Then Exit Do
ListBox1.AddItem rng2.Address
Else
Exit Do
End If
Loop
Else
Exit Sub
End If
End Sub |
le code que j utilise pour ouvrir le formulaire est :
Code:
1 2 3 4 5 6
| Sub Rectangleàcoinsarrondis1_Clic()
Main.Show
Main.TextBox1.SetFocus
End Sub |
Pièce jointe 469522