Problème clic souris sur fenêtre sélection Userform Listbox
Bonjour,
J'ai une macro qui permet à l'utilisateur de compléter plusieurs colonnes.
Pour chaque colonne j'ai une liste de choix (Listbox) qui est affichée dans une fenêtre de sélection (Userform)
J'utilise la même fenêtre de sélection, en actualisant à chaque activation la liste de choix en fonction des choix précédents.
De manière aléatoire j'ai une fenêtre qui n'appairait que fugitivement et qui semble prendre en compte le clic (appui souris) de la fenêtre précédente.
Si j'ajoute une temporisation de une seconde entre le Déchargement (Unload) d'une fenêtre et le chargement (Load) de la suivante, le problème devient très rare.
Je ne veux pas augmenter la temporisation pour ne pas dégrader l'ergonomie.
J'ai essayé en vain de déactiver/activer les événements, de créer 2 fenêtres en alternance.
Je n'ai pas trouvé de moyen de vider (CLEAR) l'événement clic.
Si vous avez une idée ou si vous avez déjà rencontré ce problème, merci d'avance
Bonjour,
Désolé de ne pas avoir joint la macro, mais je ne voulais pas dévier la question sur le contenu du fichier et je n'ai pas eu le courage d'élaguer la macro pour la simplifier tout en gardant le problème. javascript:emoticon(':?')
Le Userform est basé sur des exemples piqués un peu partout (Sans aucune originalité).
La macro est associée à un Private Sub Worksheet_Change(ByVal Target As Range)
Je pense avoir contourner le problème avec les actions suivantes.
fonction initiale avec listbox_click:
'Private Sub Liste_Selection_Click()
'If Liste_Selection.ListIndex = -1 Then
' TEXTE$ = ""
' SENS = -2
'Else
' TEXTE$ = Liste_Texte$(Liste_Selection.ListIndex)
' SENS = 0
'End If
'Boite_Selection.Hide
'End Sub
1ère solution, j'ai déplacé l'action dans un bouton OK, mais cela imposait 2 mouvements aux utilisateurs:
'Private Sub OK_Click()
2ème solution moins contraignante pour l'utilisateur, j'ai utilisé le double-click sur la listbox, je n'ai fait que remplacer :
'Private Sub Liste_Selection_Click()
par
'Private Sub Liste_Selection_Dblclick(ByVal CANCEL As MSForms.ReturnBoolean)
A+