Probleme ListBox VBA [Résolu/Fermé]

Signaler
-
 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

Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 167
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.
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
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 167
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.
Super Ca marche impeccable.
Un grand merci pour ton aide rapide et Efficace
Cordialement

Alain
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+
Messages postés
8700
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 167
Tu ne crois pas que ce serait plus simple de mettre directement le nom de l'onglet en B2 ??
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