ListBox + lien : renvoie vers cellules

Bonjour,

Après de multiples jours de recherche, je n'arrive pas à venir à bout de mon fichier Excel. J'ai actuellement un fichier professionnel ou son stockées des informations (phrases inscrite dans dans cellules) sur plusieurs feuilles.

Dans ce fichier j'ai ajouté une ListBox ainsi qu'un CommandButton permettant de faire une recherche sur l'ensemble des pages. Tout fonctionne bien.

Cependant, j'aimerais que tout les éléments se trouvant dans la ListBox soit cliquables et redirige vers la cellule concernées. Or je n'arrive pas à renvoyer les éléments de la ListBox vers la cellule concernés.

Pourriez-vous m'aiguiller ?

Merci d'avance !

25search.xlsm (25.38 Ko)

Bonjour HalCroves.

En reprenant ton code pour alimenter ton listbox :

Private Sub ListBox1_Click()
mot = ListBox1.Value
For Each ws In Sheets
    If ws.Name <> "ACCUEIL" Then
        With ws.Cells
            Set c = .Find(mot, LookIn:=xlValues, lookat:=xlPart)
                If Not c Is Nothing Then
                    ws.Activate
                    c.Select
                    Exit Sub
                End If
        End With
    End If
Next ws
End Sub

Le code est à placer sur ta feuille en VB.

Bonjour thebenoit59,

Un grand merci à toi ! Cela fonctionne !

Petite question au passage :

J'ai un message d'erreur "Erreur d'exécution 13 Incompatibilité de type" sur certains éléments de la ListBox lorsque je clique dessus.

Est-ce du fait que la cellule est différente (elle n'est pas fusionné) ? Le texte à été intégré en sélectionnant une cellule et en appuyant via la touche "F2".

Merci encore pour ta rapidité !

A quelle ligne as-tu l'erreur ?

Qu'entends-tu que la cellule est différente ?

Le texte existe-t-il bien dans les feuilles ?

A quelle ligne as-tu l'erreur ?

Pardonnez moi, je n'ai pas été très clair..

J'ai l'erreur à la ligne :

Set c = .Find(mot, LookIn:=xlValues, lookat:=xlPart)

C'est comme si la fonction "Click" visualisez bien la cellule, mais n'arrivez pas à l'atteindre.

Qu'entends-tu que la cellule est différente ?

Elles ont été formaté via la touche F2 (cela permet d'avoir tout le texte voulu dans une seul cellule et non dans plusieurs)

Le texte existe-t-il bien dans les feuilles ?

Oui oui le texte existe bien dans les feuilles, ont le retrouve bien manuellement.

Pour plus de facilité, je te joins un fichier ou il y a le problème. Recherche le mot « test », tu verras il y a un texte latin qui contient le mot « test10 ». Si tu clique dans la listbox pour l'atteindre, tu as l'erreur "Erreur d'exécution 13 Incompatibilité de type".

Encore merci pour ton aide.

38search.xlsm (31.40 Ko)

Le texte est trop long pour Excel, qui limite à 255 caractères.

Voici une solution :

Private Sub ListBox1_Click()
    mot = ListBox1.Value
    If Len(mot) > 255 Then mot = Left(mot, 255)
    For Each Ws In Sheets
        If Ws.Name <> "ACCUEIL" Then
            With Ws.Cells
                Set c = .Find(mot, LookIn:=xlValues, lookat:=xlPart)
                    If Not c Is Nothing Then
                        Ws.Activate
                        c.Select
                        Exit Sub
                    End If
            End With
        End If
    Next Ws
End Sub

Si le mot est > 255 caractères nous ne conservons que les 255 premiers.

T'es un Chef !

Ça fonctionne à merveille, chapeau l'artiste !

Merci pour ta rapidité et ton aide.

Rechercher des sujets similaires à "listbox lien renvoie"