Code pour userforme

Y compris Power BI, Power Query et toute autre question en lien avec Excel
j
jonat28
Membre fidèle
Membre fidèle
Messages : 258
Appréciation reçue : 1
Inscrit le : 31 janvier 2019
Version d'Excel : 2016 FR

Message par jonat28 » 17 mars 2019, 10:38

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
j
jonat28
Membre fidèle
Membre fidèle
Messages : 258
Appréciation reçue : 1
Inscrit le : 31 janvier 2019
Version d'Excel : 2016 FR

Message par jonat28 » 17 mars 2019, 11:14

test.xlsm
(46.64 Kio) Téléchargé 5 fois
A
AlgoPlus
Membre dévoué
Membre dévoué
Messages : 667
Appréciations reçues : 57
Inscrit le : 27 février 2019
Version d'Excel : 2007

Message par AlgoPlus » 17 mars 2019, 11:28

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 ?
j
jonat28
Membre fidèle
Membre fidèle
Messages : 258
Appréciation reçue : 1
Inscrit le : 31 janvier 2019
Version d'Excel : 2016 FR

Message par jonat28 » 17 mars 2019, 11:38

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
A
AlgoPlus
Membre dévoué
Membre dévoué
Messages : 667
Appréciations reçues : 57
Inscrit le : 27 février 2019
Version d'Excel : 2007

Message par AlgoPlus » 17 mars 2019, 12:03

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
j
jonat28
Membre fidèle
Membre fidèle
Messages : 258
Appréciation reçue : 1
Inscrit le : 31 janvier 2019
Version d'Excel : 2016 FR

Message par jonat28 » 17 mars 2019, 12:15

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
A
AlgoPlus
Membre dévoué
Membre dévoué
Messages : 667
Appréciations reçues : 57
Inscrit le : 27 février 2019
Version d'Excel : 2007

Message par AlgoPlus » 17 mars 2019, 12:35

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
j
jonat28
Membre fidèle
Membre fidèle
Messages : 258
Appréciation reçue : 1
Inscrit le : 31 janvier 2019
Version d'Excel : 2016 FR

Message par jonat28 » 17 mars 2019, 12:47

merci

je viens d'essayer erreur ::o

pourtant je ne pense pas qu"il manque ou autre chose un End if
Capture.PNG
A
AlgoPlus
Membre dévoué
Membre dévoué
Messages : 667
Appréciations reçues : 57
Inscrit le : 27 février 2019
Version d'Excel : 2007

Message par AlgoPlus » 17 mars 2019, 12:58

vous avez rajouter la ligne If .... en début de boucle, Mais pas le End If en fin de boucle.
j
jonat28
Membre fidèle
Membre fidèle
Messages : 258
Appréciation reçue : 1
Inscrit le : 31 janvier 2019
Version d'Excel : 2016 FR

Message par jonat28 » 17 mars 2019, 13:07

merci c'est rectifier :) :)
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message