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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Sub Rectangleàcoinsarrondis1_Clic()
 
Main.Show
Main.TextBox1.SetFocus
 
End Sub
VBA - Copie.xlsm