Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 Retrouver objet Listbox

  • Initiateur de la discussion Initiateur de la discussion herve62
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

herve62

XLDnaute Barbatruc
Supporter XLD
Bonjour
Ce fichier a + de 5 ans dans mon grenier et je ne suis pas le créateur
Je n'arrive plus à me rappeler comment retrouver et comment a été créé LISTBOX1 ? (liste MOTIFS)

Le principe : dans "accessoires" il y a un bouton qui inhibe ou pas le clic droit si inhibé dans les feuilles si on clic droit dans une cellules "blanche" on ouvre cette Listbox1
sinon c'est le menu standard
Je n'ai jamais repris ce fichier !! donc plus de souvenirs ?
 

Pièces jointes

Re
je dis :
Les Lignes de la ListBox vont de 0 à .ListCount-1 (si 5 éléments dans la ListBox alors de 0 à 4) ce qui fait 5
tu réponds :
Ben oui je viens d'en ajouter 1 aussi ...mais ça change rien
Donc tu a x Lignes avec celle que tu viens de rajouter !
tu avais signalé que si tu mettais
Là encore ça bug sur .listindex= 5
donc il aurait fallu mettre .listIndex=4 si tu as 5 Lignes , la dernière a pour Index 4
je vois qu'on parle de l'extension est *.EXD.
je ne comprends pas pourquoi Lol
dans l'attente
Jean marie
 
Oups! j'ai lu de travers, j'avais cru qu'il n'arrivais plus à créer une Listbox.
 
Re
je ne comprends pas d'où vient le problème !
il parle de:
Là encore ça bug sur .listindex= 5
donc je ne sais pas si c'est une partie de Boucle ou ?????? Lol
alors qu'il fais référence au ListIndex = 5 alors qu'il n'a que 5 Données dans sa ListBox donc la dernière n'est pas 5 mais 4 .....
il faudrait plus de la Procédure ou se trouve ce ListIndex=5 !
Enfin attendons
Jean marie
 
Re
c'est ce que je disais
tu as 5 elements dans la LIstBox et chez moi y'a l'erreur si on laisse le .ListIndex=5 (d'ailleurs pourquoi mettre le ListIndex sur le 1/2J)
moi j'aurai mis .listIndex=-1
pour voir tu mets .listIndex=4
Jean marie
 
Re
ce que j'ai mis :
VB:
Sub Worksheet_BeforeRightClick(ByVal Cible As Range, Cancel As Boolean)
If MemInh = False Then Exit Sub
Application.ScreenUpdating = False
Set MemCible = Cible                                                                         ' Mémorise Cible
With ListBox1
    If .Value <> "" Then Cible.Value = ""
    .LinkedCell = Cible.Address                                                             ' Indique la cellule d'application à la liste
    .Top = Cible.Top + 20                                                                      ' Positionne la liste, la désélectionne et la rend visible
    .Left = Cible.Left + 50
    .ListIndex = -1                                                                                 ' Sélectionne dernier choix (vide) de la liste car Pb. avec .Listindex = -1
    .Visible = True
End With
Cancel = True
Application.ScreenUpdating = True
End Sub
je me rends compte que tu as devant la Ligne .ListIndex=5
' Sélectionne dernier choix (vide)
il faut donc inclure dans la Palge "MOTIFS" Une Cellule Vide en Dernier tu auras ainsi 6 Ligne dont une Vide qui aura le ListIndex 5
Jean marie
 

Pièces jointes

  • Herve-5.gif
    121.5 KB · Affichages: 19
Re
ce que j'ai modifié et semble répondre aux besoins
j'ai apostrophé deux Lignes
Code:
Sub Worksheet_BeforeRightClick(ByVal Cible As Range, Cancel As Boolean)
If MemInh = False Then Exit Sub
Application.ScreenUpdating = False
Set MemCible = Cible                                                                         ' Mémorise Cible
With ListBox1
'    If .Value <> "" Then Cible.Value = "" 'Inhibé'
    .LinkedCell = Cible.Address                                                             ' Indique la cellule d'application à la liste
    .Top = Cible.Top + 20                                                                      ' Positionne la liste, la désélectionne et la rend visible
    .Left = Cible.Left + 50
'    .ListIndex = -1   'Inhibé'                                                                            ' Sélectionne dernier choix (vide) de la liste car Pb. avec .Listindex = -1
    .Visible = True
End With
Cancel = True
Application.ScreenUpdating = True
End Sub
Jean marie
 

Pièces jointes

  • Herve-7.gif
    497.5 KB · Affichages: 21
je me rends compte que tu as devant la Ligne .ListIndex=5
' Sélectionne dernier choix (vide)
il faut donc inclure dans la Palge "MOTIFS" Une Cellule Vide en Dernier tu auras ainsi 6 Ligne dont une Vide qui aura le ListIndex 5
Toutafé ! Voir mon message #24. .. 😉

Mais ce n'est pas le seul problème :
- la liste ne se met pas à jour automatiquement,
- le "toggle" n'est plus pris en compte dès qu'on passe par VBE. Donc il faut repasser par la feuille "Noms des employés" pour désactiver/réactiver le "toggle".

Hervé se base apparemment sur le code d'un autre fichier (disponible en #1), mais déjà là on voit que le code est complètement pourri et que ce n'est pas vraiment fonctionnel... alors essayer d'adapter un truc pourri, ce n'est pas génial génial... 🙁
Perso, je n'ai pas encore compris l'intérêt du "toggle".
 
Bonjour Marcel
ce que j'ai mis pour que la Liste soit toujours à jours
VB:
Sub Worksheet_BeforeRightClick(ByVal Cible As Range, Cancel As Boolean)
If MemInh = False Then Exit Sub
Application.ScreenUpdating = False
Set MemCible = Cible                                                                         ' Mémorise Cible
With ListBox1
    .ListFillRange = "MOTIFS" 'Ici on charge la Liste a chaque fois
    .LinkedCell = Cible.Address                                                             ' Indique la cellule d'application à la liste
    .Top = Cible.Top + 20                                                                      ' Positionne la liste, la désélectionne et la rend visible
    .Left = Cible.Left + 50
    .Visible = True
End With
Cancel = True
Application.ScreenUpdating = True
End Sub
Bonne Journée
Jean marie
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…