Probleme ListBox VBA

Résolu
Bonjour, J'ai une listbox sur une feuille de calcul qui me permet d'accéder aux différents onglets. Lorsque je clic dans la liste je me retrouve dans l'onglet correspondant Dans celui-ci j'ai inséré un bouton retour qui me renvoie sur l'onglet qui contient la listbox. Là si je reclic sur la ligne que j'avais sélectionné précédemment rien ne se passe. Si je clic sur une autre ligne ça fonctionne .
Quelqu'un a t il la solution ?
d'Avance Merci

6 réponses

  1. Contributeur
    Bonjour,
    Tu dois aussi mettre dans la liste des feuilles à atteindre le nom de la feuille où se trouve ta listbox.
    Ensuite dans le code de la feuille où se trouve ta listbox.
    Private Sub Worksheet_Activate() 
        'L'index du nom de la feuille de la listbox 
        ListBox1.ListIndex = 0 
    End Sub

    Pas facile a expliquer, si pas clair met le nom de tes feuilles et le nom de la feuille où se trouve la liste
    A+
    Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
    NOTE : Je ne répond pas aux MP pour les questions techniques.
    1. Merci pour ta réponse mais j'avoue que je n'arrive pas à la mettre en oeuvre
      Ma feuille de départ s'appelle: "navigation" dans celle-ci se trouve ma listbox appelée : "Lstfournisseurs" .dans cette liste il y a les fournisseurs "Toto , Titi, Tutu..."

      Code de la liste "LstFournisseur" de la feuille "navigation":

      Private Sub LstFournisseurs.click()
      Sheets (LstFournisseurs.List(LstFournisseurs.listindex)).Acvtivate
      End Sub

      Si je clic sur "Titi" Je me retrouve dans la feuille du même nom avec un bouton retour Appelé "CmdBouton"

      Code du bouton retour de la feuille "Titi":

      Private Sub CmdBouton.Click()
      Sheets("navigation")
      End Sub

      Me renvoie dans la feuille dans laquelle j'ai ma liste "LstFournisseurs" mais lorsque je clic à nouveau sur Titi il ne se passe rien

      Peux tu à nouveau m'aider ?

      Merci d'avance pour ta réponse
      A+
      ALain
      1. Contributeur
        Remplacer..
        Private Sub LstFournisseurs.click()  
        Sheets (LstFournisseurs.List(LstFournisseurs.listindex)).Acvtivate  
        End Sub
        Par
        Private Sub LstFournisseurs_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) 
            Sheets(LstFournisseurs.Text).Activate 
        End Sub
        A+
        Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
        NOTE : Je ne répond pas aux MP pour les questions techniques.
        1. Super Ca marche impeccable.
          Un grand merci pour ton aide rapide et Efficace
          Cordialement

          Alain
          1. Bon tu vas me trouver un peu pénible mais je me permet de te déranger encore un peu
            Comment peut on afficher le nom de l'onglet dans une cellule de l'onglet que l'on vient d'afficher?
            J'ai trouvé :
            Range("B2") = ActiveSheet.Name

            mais je ne sais pas ou mettre ce code

            Merci de ta patience

            A+
            1. Contributeur
              Tu ne crois pas que ce serait plus simple de mettre directement le nom de l'onglet en B2 ??
          2. Tu as peut etre raison mais je ne connais pas bien excel et finalement entre temps j'ai trouvé la solution

            Private Sub LstFournisseurs_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
            Sheets(LstFournisseurs.Text).Activate
            worksheets(LstFournisseurs.Listindex.range("B2")=LstFournisseurs.list(LstFournisseurs.Listindex)
            End Sub

            Ca fonctionne

            Merci d'avoir pris le temps de me répondre
            Bon Weekend