Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
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 08/07/2011, 18h52   #1
Nouveau Membre du Club
 
Inscription : janvier 2009
Messages : 43
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 43
Points : 27
Points : 27
Par défaut Récupérer la sélection d'une ListBox

Bonjour,

J'ai un formulaire intitulé Listing sous Access et Form_Listing sous VBE.
Ce formulaire contient une ListBox toute simple dont le nom est Liste0.

J'arrive à connaître le numéro de l'item sélectionné dans ma procédure de cette façon :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
Sub Traitement()
  Dim I, NbrItems As Integer
 
  NbrItems = Form_Listing.Liste0.ListCount
 
  For I = 0 To NbrItems - 1
    If Form_Listing.Liste0.Selected(I) = True Then ' Valeur correcte
      Debug.Print Form_Listing.Liste0.List(I)
      Exit For
    End If
  Next I
End Sub
La ligne est bien trouvée, mais j'obtiens l'erreur suivante :
Citation:
Erreur de compilation. Membre de méthode ou de données introuvable
Merci d'avance.

Mais n'arrive pas à récupérer le texte de l'item.
Dormeur74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 20h08   #2
Membre Expert
 
Inscription : août 2006
Messages : 1 435
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 1 435
Points : 1 753
Points : 1 753
Bonjour,
sinon
Code :
1
2
3
4
5
6
7
 
Sub Traitement()
  Dim v As Variant
  For Each v In Form_Listing.Liste0.ItemsSelected
   Debug.Print Form_Listing.Liste0.ItemData(v)
  Next v
End Sub
ou
Code :
1
2
3
4
5
6
7
 
Sub Traitement()
  Dim v As Variant
  For Each v In Form_Listing.Liste0.ItemsSelected
   Debug.Print Form_Listing.Liste0.Columns(v,0)
  Next v
End Sub
Pour la premiere colonne de la liste déroulante
(v,1) pour la deuxieme, etc
helas est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 09/07/2011, 07h39   #3
Nouveau Membre du Club
 
Inscription : janvier 2009
Messages : 43
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 43
Points : 27
Points : 27
Bonjour,
Merci d'avoir répondu.
Je 1er code me retourne le numéro de la ligne sélectionnée, le second provoque toujours la même erreur (Erreur de compilation...).
Je ne pige pas.
Dormeur74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2011, 11h57   #4
Nouveau Membre du Club
 
Inscription : janvier 2009
Messages : 43
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 43
Points : 27
Points : 27
Par défaut De cauchemar en cauchemar

J'ai trouvé une solution qui fonctionne sans utiliser l'index de l'item choisi :

Code :
1
2
3
4
5
 
Sub Traitement()
  Dim Selection As String
  Selection = Form_Listing!Liste0.Value
End Sub
Merci pour tout.
Dormeur74 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 04h16.


 
 
 
 
Partenaires

Hébergement Web