Code pour userforme

bonjour

j'ai trouvé sur un site un code pour userforme qui permet de recherche un mot dans le classeur et quand je clisque sur le mot trouve il me renvoi a la ligne

il fonctionne bien mais j'aimerai qu'il recherche uniquement dans 1 seul feuille et non le classeur :

Dim F As Worksheet

Dim Plage As Range, C As Range

Dim T As String, Firstaddress As String

Dim x As Integer

ListBox1.Clear

T = Me.TextBox1

If T = "" Then Exit Sub

For Each F In Worksheets

With F

Set Plage = Application.Intersect(.UsedRange.Cells, .Range(.Cells(8, 1), .Cells(.Rows.Count, .Columns.Count)))

End With

Set C = Plage.Find(T, LookIn:=xlValues, LookAt:=xlPart)

If Not C Is Nothing Then

Firstaddress = C.Address

Do

With ListBox1

.AddItem F.Name

For x = 2 To 6

.List(.ListCount - 1, x - 1) = F.Cells(C.Row, x).Text

Next x

.List(.ListCount - 1, 6) = C.Address(False, False)

End With

Set C = Plage.FindNext(C)

Loop While Not C Is Nothing And C.Address <> Firstaddress

End If

Next F

If ListBox1.ListCount = 0 Then

MsgBox "Le Texte " & T & " n'a pas été trouvé" & vbLf & "Faites un essai sur une partie du nom", vbCritical, Sign

End If

merci par avance

bonne journée

5test.xlsm (46.64 Ko)

Bonjour,

Originale la façon de présenter le code ! mais totalement illisible!

Il vaut mieux l'indenter et le mettre entre balises code (icône </>)

il fonctionne bien mais j'aimerai qu'il recherche uniquement dans 1 seul feuille et non le classeur :

Oui, mais laquelle ?

Bonjour AlgoPlus ,

je voudrais si possible la feuille Base de données (recherche dans toute la feuille)

et dans Projets Internes recherche quand a ligne B stp

merci de ton aide

merci pour l'information pour le code je le ferai pour la prochaine fois je me coucherai moins bette se soir

Si on veut chercher dans deux feuilles sur 3, une solution consiste à chercher dans toutes sauf dans celle "interdite"

dans la boucle For Each F In Worksheets, encadrer le code existant de ces deux lignes:

        If F.Name <> "4 Réseaux de compétences" Then
           .../... code existant
       End If

Pas compris

et dans Projets Internes recherche quand a ligne B stp

pardon je me suis mal expliquer

je voudrais chercher uniquement dans la feuille Base de données (toute la feuille)

je ferrai par la suite un deuxième bouton avec userforme pour faire une recherche uniquement dans la feuille(Projets Internes) colonne B

je pense que cest plus compréhensible maintenant

Si on ne cherche plus que dans une feuille:

dans la boucle For Each F In Worksheets, encadrer le code existant de ces deux lignes:

        If F.Name = "Base de données" Then
           .../... code existant
       End If

merci

je viens d'essayer erreur

pourtant je ne pense pas qu"il manque ou autre chose un End if

capture

vous avez rajouter la ligne If .... en début de boucle, Mais pas le End If en fin de boucle.

merci c'est rectifier

je viens de tester il me fait toujours une recherche sur le classeur alors qu'on l'on indique la feuille..

Rechercher des sujets similaires à "code userforme"