Probleme ListBox VBA

Résolu
av74 -  
 av74 -
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. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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.
    0
  2. av74
     
    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
    0
  3. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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.
    0
  4. av74
     
    Super Ca marche impeccable.
    Un grand merci pour ton aide rapide et Efficace
    Cordialement

    Alain
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. av74
     
    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+
    0
    1. lermite222 Messages postés 9042 Statut Contributeur 1 199
       
      Tu ne crois pas que ce serait plus simple de mettre directement le nom de l'onglet en B2 ??
      0
  7. av74
     
    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
    0