Moteur de recherche dans un lexique
#1
Débutant XLPages

Inscription: 28/07/2009

Messages: 7

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 28-07-2009 15h59
bonjour,

Dans le cadre de mon boulot, je suis en train de créer un lexique sur Excel avec sur la première feuille les lettres de l'alphabet qui renvoye vers l'onglet qui correspond à la lettre. J'ai donc une feuille par lettre de l'alphabet.

Je voudrai que sur la première feuille (l'index) se trouve un bouton recherche qui active une userform qui recherche tous les termes dans tous les onglets.

L'idéal serait que le renvoie de la réponse ou des réponses soit dans le userform avec possibilité de double cliqué directement sur la réponse ou y accéder. (Je ne suis pas certaine d'être très clair là)

L'idéal serait un userform du même style que celui d'Albatros que l'on trouve là http://www.mdf-xlpages.com/modules/ne ... ?topic_id=379&forum=4

Merci d'avance





Pièce jointe:
zip Lexique copie.zip   [ Taille: 23.87 Ko - Téléchargements: 581 ]
Hors Ligne
Rapport   Haut 

Re: Moteur de recherche dans un lexique
#2
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 28-07-2009 20h44
Bonsoir pgaz44, le Fprum,

Tout d'abord, bienvenue sur XLpages.com !

As-tu essayé de récupérer le Userform du lien indiqué et de l'adapter à ton classeur ? Je pense que c'était jouable même pour un débutant (qui sait déjà faire usage de l'Assistant Balloon et joue avec le StrReverse )...

Sinon, tu trouveras ci-joint une tentative de réponse à ta demande.

J'ai utilisé (et même repris) principalement le code suivant :
Option Explicit
Option Compare Text

'myDearFriend!  -  www.mdf-xlpages.com
Private Sub btnRech_Click()
Dim F As Worksheet
Dim Plage As Range, C As Range
Dim T As String, Firstaddress As String
Dim Col As Integer
    lstRech.Clear
    T = txtRech.Text
    If T = "" Then Exit Sub
    For Each F In Worksheets
        If F.Name <> "Index" Then
            With F
                Set Plage = Application.Intersect(.UsedRange.Cells, .Range(.Cells(2, 1), .Cells(.Rows.Count, 1)))
                'Ci-dessus on finit par .Cells(.Rows.Count, 1) : si on veut permettre la recherche aussi sur la colonne B, on mettra 2 au lieu de 1
            End With
            If Not Plage Is Nothing Then
                Set C = Plage.Find(T, LookIn:=xlValues, LookAt:=xlPart)
                If Not C Is Nothing Then
                    Firstaddress = C.Address
                    Do
                        With lstRech
                            .AddItem F.Name
                            For Col = 1 To 2
                                .List(.ListCount - 1, Col) = F.Cells(C.Row, Col).Text
                            Next Col
                            .List(.ListCount - 1, 3) = C.Address(False, False)
                        End With
                        Set C = Plage.FindNext(C)
                    Loop While Not C Is Nothing And C.Address <> Firstaddress
                End If
            End If
        End If
    Next F
   
    If lstRech.ListCount = 0 Then
        MsgBox "Le Texte " & T & " n'a pas été trouvé" & vbLf & "Faites un essai sur une partie du nom", vbCritical
    End If
End Sub

Private Sub lstRech_dblClick(ByVal Cancel As MSForms.ReturnBoolean)
    With lstRech
        Application.Goto Sheets(.Value).Range(.List(.ListIndex, 3))
    End With
    Unload Me
End Sub

Private Sub btnAnnuler_Click()
    Unload Me
End Sub

En espérant t'avoir aidé,

Cordialement,

Pièce jointe:
zip PourPgaz44.zip   [ Taille: 34.17 Ko - Téléchargements: 589 ]

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Moteur de recherche dans un lexique
#3
Débutant XLPages

Inscription: 28/07/2009

Messages: 7

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 28-07-2009 21h30
Superbe exactement ce qu'il me fallait, merci beaucoup vous m'économiser une journée de recherche.


Hors Ligne
Rapport   Haut 

Re: Moteur de recherche dans un lexique
#4
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 28-07-2009 21h33
Re,

Citation :
pgaz44 a écrit : C'est super merci beaucoup mais j'aurai aussi aimé en plus que le moteur de recherche puisse fonctionner avec un mot clé comme par exemple direction ou informatique ou encore solidarité ou...

Alors regarde le commentaire qui est écrit en vert dans le code, je pense qu'il s'agit de la réponse à ta question... Non ?

Cordialement,

EDITION
:
Arf, je n'avais pas vu que tu avais édité ton post après coup... Alors tant mieux si ça répond à ton besoin. Content de t'avoir rendu service.




Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Moteur de recherche dans un lexique
#5
Débutant XLPages

Inscription: 28/07/2009

Messages: 7

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 28-07-2009 21h39
Oui navrée je n'avais pas vu...

J'ai perdue mon info bulle au début c'est normal ? Pourtant le code est toujours là
Hors Ligne
Rapport   Haut 

Re: Moteur de recherche dans un lexique
#6
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 28-07-2009 22h03
Non, y'a pas de raison à cela.
Je viens de vérifier, je l'ai bien à l'ouverture du classeur.

Cordialement,

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Moteur de recherche dans un lexique
#7
Débutant XLPages

Inscription: 28/07/2009

Messages: 7

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 28-07-2009 22h14
Puff il est temps que la journée se finisse, j'ai cliqué dessus sans même le voir.

Merci encore c'est super !
Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes