Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/11/2010, 18h21   #1
Nouveau Membre du Club
 
Inscription : novembre 2010
Messages : 105
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 105
Points : 36
Points : 36
Par défaut Valeur de listbox.ListIndex dans une liste à choix multiples

Amis du soir, bonsoir!

Un petit problème concernant la fonction ListIndex ou tout autre moyen de vérifier qu'une zone de liste déroulante à choix multiples (=listbox liée à une table) a eu au moins 1 enregistrement de sélectionné:
Code :
1
2
3
4
5
6
 
If Me.DomaineListe.ListIndex <> -1 Then
DoCmd.Close
Else
MsgBox "Tu n'as même pas sélectionné 1 élément dans la liste déroulante"
End If
Ce code ne marche pas car:
Me.DomaineListe.ListIndex renvoi -1 quand aucun élément n'est sélectionné (ça c'est normal et c'est ma condition if) MAIS Me.DomaineListe.ListIndex renvoi aussi -1 lorsque l'utilisateur sélectionne + d'1 élément de la liste déroulante (ça c'est pas bon)

Une idée?

Merci d'avance
Cinesra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/11/2010, 19h30   #2
Membre confirmé
 
Homme Ahmad Hamam
développeur amateur
Inscription : octobre 2006
Messages : 108
Détails du profil
Informations personnelles :
Nom : Homme Ahmad Hamam
Âge : 55
Localisation : France

Informations professionnelles :
Activité : développeur amateur
Secteur : Santé

Informations forums :
Inscription : octobre 2006
Messages : 108
Points : 205
Points : 205
Par défaut re

bonjour

as tu essayés cette methode
Code :
 x = Me("Liste1").ItemsSelected().Count
cordialement
ahmad
hajeahmad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/11/2010, 20h09   #3
Nouveau Membre du Club
 
Inscription : novembre 2010
Messages : 105
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 105
Points : 36
Points : 36
Salut!

Effectivement, ce code:
Code :
Me.DomaineListe.ItemsSelected().Count
marche très bien avec des ComboBox, mais ici c'est une ListBox

Merci quand même

Quelqu'un d'autre??? SVP

EDIT: Ou alors comment faire ressembler une ComboBox à une ListBox?

.
Cinesra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/11/2010, 22h05   #4
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 200
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 200
Points : 5 252
Points : 5 252
Salut,

Je crois qu'il y a confusion

Voici ce qu'en dit l'aide

ListBox ou zone de liste :
Contrôle constitué d'une liste et d'une étiquette (facultative); Autorise la sélection multiple d'éléments.

ComboBox ou zone de liste déroulante :
Contrôle qui fournit une zone de liste et une zone de texte. Vous pouvez tapez une valeur ou cliquer sur le contrôle pour afficher une liste et y sélectionner un élément. (par conséquent pas de sélection multiple possible)

Bonne continuation
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/11/2010, 23h25   #5
Nouveau Membre du Club
 
Inscription : novembre 2010
Messages : 105
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 105
Points : 36
Points : 36
Tiens! Bonsoir User!

Non non, je ne crois pas qu'il y est confusion de ma part. C'est bien une Listbox, exactement comme celle là:
http://office.microsoft.com/global/i...ZA101555031033

Le mec de ce site http://www.access-programmers.co.uk/...d.php?t=184095avait exactement le même problème mais persistait à croire que c'était une ComboBox (aucune attaque sur mon User favori, ne tkt pas ) du coup: pas de réponse!!!


Une idée de comment régler mon problème du coup?

Merci d'avance
Cinesra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2010, 00h11   #6
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 200
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 200
Points : 5 252
Points : 5 252
Désolé mais je suis sous Access 2003,

cela semble être une nouveauté d'Access 2007, donc je ne peux te répondre...
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2010, 10h40   #7
Membre confirmé
 
Homme Ahmad Hamam
développeur amateur
Inscription : octobre 2006
Messages : 108
Détails du profil
Informations personnelles :
Nom : Homme Ahmad Hamam
Âge : 55
Localisation : France

Informations professionnelles :
Activité : développeur amateur
Secteur : Santé

Informations forums :
Inscription : octobre 2006
Messages : 108
Points : 205
Points : 205
Par défaut re

bonjour à tous
User a raison ,d'ou ma reponse
moi je travail avec access depuis la verion "1" ,
...je n'ai jamais vu une liste deroulante a choix multiple et puis c'est impossible à faire car une fois que tu as fais ta selection la liste se ferme.
j'ai regardé ton exemple
http://office.microsoft.com/global/i...ZA101555031033
il me semble que C'est une liste deroulante quand meme.
je peux quand meme me tromper!!!
bien cordialement
ahmad
hajeahmad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2010, 10h48   #8
Nouveau Membre du Club
 
Inscription : novembre 2010
Messages : 105
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 105
Points : 36
Points : 36
Salut,

Oui c'est une ListBox mais qui est surtout un champ multivalué!
Je suis en train de chercher une réponse sur ce tuto: http://warin.developpez.com/access/multivalue/

Je vous tiens au jus si j'ai qlqchose.
Cinesra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2010, 11h25   #9
Membre confirmé
 
Homme Ahmad Hamam
développeur amateur
Inscription : octobre 2006
Messages : 108
Détails du profil
Informations personnelles :
Nom : Homme Ahmad Hamam
Âge : 55
Localisation : France

Informations professionnelles :
Activité : développeur amateur
Secteur : Santé

Informations forums :
Inscription : octobre 2006
Messages : 108
Points : 205
Points : 205
Par défaut re

salut
exacte
mais C'est une autre problematique du coup je ne comprend plus ta question?
ahmad.
hajeahmad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2010, 11h26   #10
Membre confirmé
 
Homme Ahmad Hamam
développeur amateur
Inscription : octobre 2006
Messages : 108
Détails du profil
Informations personnelles :
Nom : Homme Ahmad Hamam
Âge : 55
Localisation : France

Informations professionnelles :
Activité : développeur amateur
Secteur : Santé

Informations forums :
Inscription : octobre 2006
Messages : 108
Points : 205
Points : 205
Par défaut re

salut
exacte
mais C'est une autre problematique du coup je ne comprend plus ta question?
ahmad.
C'est l'echange qui me fait avancer
hajeahmad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2010, 12h11   #11
Nouveau Membre du Club
 
Inscription : novembre 2010
Messages : 105
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 105
Points : 36
Points : 36
Salut,

Ma question est que je cherche à vérifier si ma liste multivaluée est vide ou contient au moins 1 valeur.
Il faut donc adapter ce code à une liste multivaluée:
Code :
1
2
3
4
5
If Me.DomaineListe.ListIndex <> -1 Then
DoCmd.Close
Else
MsgBox "Tu n'as même pas sélectionné 1 élément dans la liste déroulante"
End If
Cinesra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2010, 12h31   #12
Nouveau Membre du Club
 
Inscription : novembre 2010
Messages : 105
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 105
Points : 36
Points : 36
Bon il me semble avoir trouvé la solution mais j'aimerais que qlq'un me confirme que "Not IsNull" est correct.

Ma solution:
Code :
1
2
3
4
5
If Not IsNull(Me.DomaineListe) Then
DoCmd.Close
Else
MsgBox "Tu n'as même pas sélectionné 1 élément dans la liste déroulante"
End If
En fait je ne comprend pas pourquoi
Code :
If Not IsNull(Me.DomaineListe) Then
à l'air de fonctionner
Mais
Code :
If Me.DomaineListe <> Null Then
ne fonctionne pas?

Merci d'avance
Cinesra est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 15h56   #13
Invité de passage
 
Homme Pierre Girard
Développeur informatique
Inscription : octobre 2011
Messages : 1
Détails du profil
Informations personnelles :
Nom : Homme Pierre Girard
Localisation : Canada

Informations professionnelles :
Activité : Développeur informatique
Secteur : Industrie

Informations forums :
Inscription : octobre 2011
Messages : 1
Points : 1
Points : 1
Par défaut ce que dit l'aide

Je pense que ceci devrait répondre à la question première, ... Bien que ça ne règle pas mon problème!

Note Si vous utilisez la propriété MultiSelect pour créer un contrôle ListBox permettant plusieurs sélections, la propriété Selected du contrôle ListBox (plutôt que la propriété ListIndex) identifie les lignes sélectionnées. La propriété Selected est un tableau ayant le même nombre de valeurs que le nombre de lignes du contrôle ListBox. Pour chaque ligne de la zone de liste, la propriété Selected contient la valeur True si la ligne est sélectionnée, et False si elle ne l'est pas. Dans un contrôle ListBox permettant plusieurs sélections, la propriété ListIndex renvoie l'index de la ligne ayant le focus, que celle-ci soit ou non actuellement sélectionnée.
Pierreg27 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h19.


 
 
 
 
Partenaires

Hébergement Web