Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Geraldine

XLDnaute Occasionnel
Bonjour à tous,

Je voudrais créer un moteur de recherche et j'ai du mal à employer FIND.
Ouvrir userform, taper un mot clé, et recherche dans une feuille / zone B10:E1000. Et répertorier la liste trouvée dans une listbox en stipulant la ligne complete ou le terme est trouvé si il a été trouvé en colonne D par exemple, dans la listbox on trouve :
Colonne B ! Colonne C ! Colonne D etc ...
Sa référence Sa désignaton sa couleur

et par la même occasion si je peux changer la couleur de police d'ecriture du terme trouvé,

merci à tous,
Géraldine
 
Re : Moteur de recherche

re pierrejean,

il me faut du temps pour l'adapter à mon application, mais à premiere vue ça devrait être bon, donc mention "en attente", je te remercie

et pour l'humour, mention "très bien"

bonne journée pierrejean,
amicalement géraldine,
 
Re : Moteur de recherche

re pierrejean,

pourquoi j'ai un message d'erreur "variable non definie" ??? une bétise comme d'habitude mais j'ai cassé mes lunettes

Code:
Private Sub CommandButtonSupp_Click() ' supprimer
Dim varReponse As String
'si pas de sélection quitte
If ComboBoxRef.ListIndex = -1 Then Exit Sub
varReponse = MsgBox("Effacer la fiche article?", vbYesNo, "Alerte")
'si réponse non quitte
If varReponse = vbNo Then Exit Sub
'si oui continue
With Worksheets("OUVRAGE").Range("az10:bi2000")
    Set[COLOR="Red"] c [/COLOR]= .Find(ComboBoxRef, LookIn:=xlValues, lookat:=xlWhole)
    If Not c Is Nothing Then
        NomLBindex = UserFormArt.ComboBoxRef.ListIndex + 10 ' ligne de reference
        With Sheets("article")
        .Range("B" & NomLBindex & ":da" & NomLBindex).Delete
        End With
        Unload UserFormArt
        UserForm4.Show
Do
        UserFormArtSupp.Show
        With UserFormArtSupp
        ListBox1.AddItem c.Address(0, 0)
        ListBox1.List(ListBox1.ListCount - 1, 2) = Worksheets("OUVRAGE").Cells(c.Row, 2)
        
          Set c = .FindNext(c)
        Loop While Not c Is Nothing And c.Address <> firstAddress
        End With
    End If
End With
End Sub

@
 
Re : Moteur de recherche

re

il y a un probleme dans la gestion des with end with

le c de

Set c = .FindNext(c)

est associé au

With UserFormArtSupp

alors qu'il devrait l'etre au

With Worksheets("OUVRAGE").Range("az10:bi2000")

compte tenu de ton niveau, je te laisse reparer toi-même ce defaut

mais reviens si tes lunettes ne sont pas encore réparées
 
Re : Moteur de recherche

bonjour pierrejean,

j'ai beau tourner mes lunettes dans tous les sens, sans résultat.
J'ai meme tout simplement copier/coller ton code sans le modifier et dans mon application ça ne fonctionne pas. Il bloque sur le "c"
Je ne comprends pas, je vais mettre à plat pour tout verifier.

Et on dit merci à qui ???? à pierrejean

Bonne journée,
Géraldine
 
Re : Moteur de recherche

re

tres bien matthieu33

eh oui Geraldine !!
l'option explicit est très exigeante
un truc dans ce cas la:
tu vas en débogage et compiler et Excel te dira quelles variables ne sont pas définies
ensuite pour definir il faut s'interroger un peu sur ce qu'est la variable a definir (DIM)
(ne pas hesiter a utiliser F1 apres avoir mis le curseur sur le terme a expliciter ,en l'occurence DIM)
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Recherche v + VBA
Réponses
3
Affichages
2 K
Retour