![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| Contribuez Access : Vos contributions. Postez ici vos codes sources, conseils, astuces et autres propositions. Ce forum n'est pas un forum technique mais destiné aux contributions pour www.developpez.com |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Membre expérimenté
![]() Date d'inscription: juin 2007
Localisation: Perpignan (66)
Âge: 21
Messages: 569
|
Code :
Dim ligne As Integer Dim valeur As Variant Dim colonne As Integer ' Colonne de la zone de liste dans laquelle se situe l'information colonne = 0 ' Parcours de la zone de liste For ligne = 0 To Me.MaZoneDeListe.ListCount - 1 If Me.MaZoneDeListe.Selected(ligne) Then ' Si la ligne est sélectionnée, on stocke sa valeur dans la variable "valeur" valeur = Me.MaZoneDeListe.Column(colonne, ligne) ' Mettre valeur = CInt(Me.MaZoneDeListe.Column(colonne, ligne)) si la valeur est numérique End If Next ligne ' On affiche le contenu de la ligne sélectionnée MsgBox valeur
__________________
Avant de poster sur le forum Access : FAQ > SOURCES > COURS > FORUM > GOOGLE Pas de question par MP ou je mords ![]()
Dernière modification par azertix ; 19/06/2008 à 09h52 |
|
|
|
|
|
#2 (permalink) |
|
Expert Confirmé
![]() Date d'inscription: mars 2006
Localisation: Un monde ou prendre est plus facile qu'apprendre...
Messages: 1 777
|
Bonjour......
Je n'ai pas bien saisie cette "contribution"..... Car si l'on souhaite récupérer la valeur de la ligne sélectionnée d'une zone de liste [lstChoix] dans une zone de texte [txtChoixValeur]....le plus simple semble être de passer par l'événement "Après MAJ" de la ZdL...... Code :
Private Sub lstChoix_AfterUpdate() 'Ici la zone de texte [txtValeurChoix] affichera la valeur 'de la colonne 1 sélectionnée dans la ZdL Me.txtValeurChoix.Value = Me.lstChoix.Column(0) End Sub
__________________
FreeAccess "Petit à petit l'araignée tisse sa toile" |
|
|
|
|
|
#4 (permalink) |
|
Expert Confirmé Sénior
![]() |
Salut,
tu peux utiliser la propriété ItemsSelected directement sinon, non ?
__________________
Piou-Piou Poussin Developpeur Pas de question technique par MP, je ne réponds pas ![]() Mon perso ? Une vraie brute |
|
|
|
|
|
#5 (permalink) | |
![]() |
Bonjour
Citation:
Starec |
|
|
|
|
|
|
#6 (permalink) |
|
Membre expérimenté
![]() Date d'inscription: juin 2007
Localisation: Perpignan (66)
Âge: 21
Messages: 569
|
Oui, il faut utiliser un tableau si l'on veut stocker les données. Je l'ai pas mis mais je peux le rajouter, éventuellement ?
@jpcheck : je connais cette propriété mais j'ai parfois eu des soucis avec, donc j'en suis revenu à mon ListCount, mais pourquoi pas après tout, c'est peut-être moi qui avais mal codé ... Je propose un code, après on le prend ou on le prend pas, ça me dérange pas. Je suis débutant, donc c'est normal que mes codes ne soient pas toujours super clean ou super optimisés, mais je suis ouvert à toute remarque ou critique constructive, il n'y a pas de soucis Dans tous les cas, il serait intéressant que l'un d'entre vous propose un code pour cette question, parce que j'ai remarqué que ça revenait souvent sur le forum (bien que des questions semblables existent déjà dans la FAQ |
|
|
|
|
|
#7 (permalink) |
|
Expert Confirmé Sénior
![]() |
Au lieu d'un tableau, j'utiliserai à ce moment là une collection :
Code :
Dim tempoCol as Collection Dim ligne As Integer Dim valeur As Variant Dim colonne As Integer Dim i as Integer ' Colonne de la zone de liste dans laquelle se situe l'information colonne = 0 ' Parcours de la zone de liste For ligne = 0 To Me.MaZoneDeListe.ListCount - 1 If Me.MaZoneDeListe.Selected(ligne) Then ' Si la ligne est sélectionnée, on stocke sa valeur dans la variable "valeur" tempoCol.Add Me.MaZoneDeListe.Column(colonne, ligne) ' Mettre valeur = CInt(Me.MaZoneDeListe.Column(colonne, ligne)) si la valeur est numérique End If Next ligne For i = 0 To UBound(tempoCol) MsgBox tempoCol(i) Next i
__________________
Piou-Piou Poussin Developpeur Pas de question technique par MP, je ne réponds pas ![]() Mon perso ? Une vraie brute |
|
|
|
|
|
#8 (permalink) |
|
Membre expérimenté
![]() Date d'inscription: juin 2007
Localisation: Perpignan (66)
Âge: 21
Messages: 569
|
Ah tiens, je ne connaissais pas cette méthode, c'est intéressant, je prends note
Quel intérêt d'utiliser une collection plutôt qu'un tableau ? Sinon la question est publiable, à présent ? |
|
|
|
|
|
#9 (permalink) |
|
Expert Confirmé Sénior
![]() |
Je n'aime pas les
Code :
Redim Preserve
__________________
Piou-Piou Poussin Developpeur Pas de question technique par MP, je ne réponds pas ![]() Mon perso ? Une vraie brute |
|
|
|
|
|
#11 (permalink) |
|
Membre expérimenté
![]() Date d'inscription: juin 2007
Localisation: Perpignan (66)
Âge: 21
Messages: 569
|
Et hop ! Je commente les nouveaux ajouts
Code :
Dim tempoCol As Collection Dim ligne As Integer Dim valeur As Variant Dim colonne As Integer Dim i as Integer ' Colonne de la zone de liste dans laquelle se situe l'information colonne = 0 ' Parcours de la zone de liste For ligne = 0 To Me.MaZoneDeListe.ListCount - 1 If Me.MaZoneDeListe.Selected(ligne) Then ' Si la ligne est sélectionnée, on stocke sa valeur dans la collection tempoCol tempoCol.Add Me.MaZoneDeListe.Column(colonne, ligne) End If Next ligne ' On affiche les valeurs en parcourant la collection For i = 0 To UBound(tempoCol) MsgBox tempoCol(i) Next i |
|
|
|
|
|
#12 (permalink) |
|
Expert Confirmé Sénior
![]() |
c'est déjà intégré dans les bibliothèques par défaut
__________________
Piou-Piou Poussin Developpeur Pas de question technique par MP, je ne réponds pas ![]() Mon perso ? Une vraie brute |
|
|
|
|
![]() |
![]() |
||
[FAQ] Comment récupérer la valeur de la ligne sélectionnée d'une zone de liste ?
|
||
| Outils de la discussion | |
|
|