OVH Cloud OVH Cloud

Click sur une listbox SelectMulti

5 réponses
Avatar
Alain
Salut à tous.
J'aimerai pouvoir faire un traitement (en VBA donc) après un simple click
sur une ListBox qui est en mode SelectMulti.
Malheureusement, ça ne marche pas; il ne se passe rien.
En mode SelectSingle, tout est normal (je récupère bien le click) mais ce
n'est pas ça dont j'ai besoin!

Avez-vous une idée ?

Merci d'avance pour vos services toujours rapides et pertinents.

Alain.

5 réponses

Avatar
Daniel
Bonjour.
Utilise le code suivant (en changeant le nom de la ListBox) :

Dim Ctr As Long
For Ctr = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(Ctr) = True Then
Range("A1") = ListBox1.List(Ctr)
ListBox1.Selected(Ctr) = False
End If
Next
Valable pour une seule sélection. Sinon, il faut décaler la cellule de
destination.
Cordialement.
Daniel
"Alain" a écrit dans le message de news:

Salut à tous.
J'aimerai pouvoir faire un traitement (en VBA donc) après un simple click
sur une ListBox qui est en mode SelectMulti.
Malheureusement, ça ne marche pas; il ne se passe rien.
En mode SelectSingle, tout est normal (je récupère bien le click) mais ce
n'est pas ça dont j'ai besoin!

Avez-vous une idée ?

Merci d'avance pour vos services toujours rapides et pertinents.

Alain.




Avatar
Alain
Je ne comprends pas ta solution.
Mon but est de permettre à l'utilisateur des faire des sélections multiples
mais il me faut un trigger pour le simple click (ce qui semble impossible).










"Daniel" a écrit dans le message de
news:
Bonjour.
Utilise le code suivant (en changeant le nom de la ListBox) :

Dim Ctr As Long
For Ctr = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(Ctr) = True Then
Range("A1") = ListBox1.List(Ctr)
ListBox1.Selected(Ctr) = False
End If
Next
Valable pour une seule sélection. Sinon, il faut décaler la cellule de
destination.
Cordialement.
Daniel
"Alain" a écrit dans le message de news:

Salut à tous.
J'aimerai pouvoir faire un traitement (en VBA donc) après un simple
click


sur une ListBox qui est en mode SelectMulti.
Malheureusement, ça ne marche pas; il ne se passe rien.
En mode SelectSingle, tout est normal (je récupère bien le click) mais
ce


n'est pas ça dont j'ai besoin!

Avez-vous une idée ?

Merci d'avance pour vos services toujours rapides et pertinents.

Alain.








Avatar
docm
Bonjour.

Tu peux détecter l'événement Change qui est déclenché par chaque sélection.

docm

"Alain" wrote in message
news:
Je ne comprends pas ta solution.
Mon but est de permettre à l'utilisateur des faire des sélections
multiples
mais il me faut un trigger pour le simple click (ce qui semble
impossible).










"Daniel" a écrit dans le message de
news:
Bonjour.
Utilise le code suivant (en changeant le nom de la ListBox) :

Dim Ctr As Long
For Ctr = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(Ctr) = True Then
Range("A1") = ListBox1.List(Ctr)
ListBox1.Selected(Ctr) = False
End If
Next
Valable pour une seule sélection. Sinon, il faut décaler la cellule de
destination.
Cordialement.
Daniel
"Alain" a écrit dans le message de news:

Salut à tous.
J'aimerai pouvoir faire un traitement (en VBA donc) après un simple
click


sur une ListBox qui est en mode SelectMulti.
Malheureusement, ça ne marche pas; il ne se passe rien.
En mode SelectSingle, tout est normal (je récupère bien le click) mais
ce


n'est pas ça dont j'ai besoin!

Avez-vous une idée ?

Merci d'avance pour vos services toujours rapides et pertinents.

Alain.












Avatar
Alain
Je fais des traitements qui sélectionnent/désélectionnent automatiquements
certains éléments de ma liste.
Si l'événement Change est associé à du code, après chaque changement - même
automatique - cet événement sera déclenché, ce qui prends trop de temps de
calcul car je sélectionne/désélectionne parfois de manière automatique un
grand nombre d'éléments de ma liste.
L'utilisation du Change est donc exclue.
Il me faut donc un autre événement que le Change pour gérer les
sélections/désélections dans ma liste de la part de l'utilisateur; j'avais
pensé au Click mais le Click ne marche pas si ma liste est SelectMulti (ce
qui est indispensable).

Alain.












"docm" a écrit dans le message de
news:OkO%
Bonjour.

Tu peux détecter l'événement Change qui est déclenché par chaque
sélection.


docm

"Alain" wrote in message
news:
Je ne comprends pas ta solution.
Mon but est de permettre à l'utilisateur des faire des sélections
multiples
mais il me faut un trigger pour le simple click (ce qui semble
impossible).










"Daniel" a écrit dans le message de
news:
Bonjour.
Utilise le code suivant (en changeant le nom de la ListBox) :

Dim Ctr As Long
For Ctr = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(Ctr) = True Then
Range("A1") = ListBox1.List(Ctr)
ListBox1.Selected(Ctr) = False
End If
Next
Valable pour une seule sélection. Sinon, il faut décaler la cellule de
destination.
Cordialement.
Daniel
"Alain" a écrit dans le message de news:

Salut à tous.
J'aimerai pouvoir faire un traitement (en VBA donc) après un simple
click


sur une ListBox qui est en mode SelectMulti.
Malheureusement, ça ne marche pas; il ne se passe rien.
En mode SelectSingle, tout est normal (je récupère bien le click)
mais




ce
n'est pas ça dont j'ai besoin!

Avez-vous une idée ?

Merci d'avance pour vos services toujours rapides et pertinents.

Alain.
















Avatar
Eric
Bonjour Alain,

Et avec un des évènements MouseDown ou MouseUp sur la listbox ?


Je fais des traitements qui sélectionnent/désélectionnent automatiquements
certains éléments de ma liste.
Si l'événement Change est associé à du code, après chaque changement - même
automatique - cet événement sera déclenché, ce qui prends trop de temps de
calcul car je sélectionne/désélectionne parfois de manière automatique un
grand nombre d'éléments de ma liste.
L'utilisation du Change est donc exclue.
Il me faut donc un autre événement que le Change pour gérer les
sélections/désélections dans ma liste de la part de l'utilisateur; j'avais
pensé au Click mais le Click ne marche pas si ma liste est SelectMulti (ce
qui est indispensable).

Alain.



--
A+
Eric