Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2313 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Problème de récupération de valeur d'une ListBox dans une procédure

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème de récupération de valeur d'une ListBox dans une procédure

n°2011683
thomasseb
Posté le 26-07-2010 à 08:39:32  profilanswer
 

Bonjour,
 
Je travail actuellement sur un modè excel que je programme sous Microsoft Visual Basic pour Excel 2003.
 
Je crée une ListBox, appelée fmListBox, dans les Feuilles de mon fichier avec le code suivant.
 
[quote]
[b] Code [\]
Option Explicit
 
Private Sub Label1_Click()
 
End Sub
 
Private Sub lbOrientation_Click()
 
End Sub
 
Private Sub UserForm_Initialize()
  lbOrientation.AddItem "Arc de cercle à Droite"
  lbOrientation.AddItem "Arc de cercle à Gauche"
End Sub
[\quote]
 
Puis j'appelle ma fenêtre à s'ouvrir, dans une procédure d'un module du fichier, pour demander à la personne qui l'utilise  
 
quel type de profil elle utilise avec la commande:
 
[quote]
fmListBox.Show
[\quote]
 
Puis je veux récupérer la valeur qui a été sélectionner. Pour cela j'ai écrit à la suite dans la procédure le code suivant  
 
:
[quote]
[b] Code[\b]
Dim Orientation As String
    For i = 1 To fmListBox.ListCount
        If fmListBox.Selected(1) = True Then
            Orientation = fmListBox.List(1)
        Else
            Orientation = fmListBox.List(2)
        End If
    Next i
[\quote]
 
Le problème est qu'il me sort une erreure de compilation en me surlignant ListCount et en me disant Membre de méthode ou  
 
de données introuvable.
 
Quelqu'un saurait-il comment je epux faire pour récupérer la valeur qui est sélectionnée dans ma fmListBox, dnas ma  
 
procédure pour utiliser son résultat par la suite.
 
Merci d'avance de vos réponses.

mood
Publicité
Posté le 26-07-2010 à 08:39:32  profilanswer
 

n°2011696
Arwon
Posté le 26-07-2010 à 09:31:36  profilanswer
 

Hello,
 
l'index des items d'une listbox commence à 0. de plus tu fais une boucle mais tu n'utilise pas la variable qui est incrementé.
 
Ca donnerait plutot :
 
Private Sub ListBox1_Click()
Dim Orientation As String  
    For i = 0 To fmListBox.ListCount -1
        If fmListBox.Selected(i) Then  
            Orientation = fmListBox.List(i)  
            Exit for
        End If  
    Next i
End Sub


Message édité par Arwon le 26-07-2010 à 09:32:13
n°2011726
thomasseb
Posté le 26-07-2010 à 10:48:32  profilanswer
 

Merci,
J'ai donc mis ta fonction dans la procédure dans fmListBox dans Feuilles mais j'ai un problème c'est de savoir  comment je récupère la valeur de Orientation dans ma procédure coordScarf qui dans les Modules pour pouvoir l'utiliser.
Merci d'avance
 

n°2011787
Arwon
Posté le 26-07-2010 à 13:19:31  profilanswer
 

la tu as plusieurs solutions, ca dépend de quand tu as besoins d'appeler coordScarf
 
- le mieux c'est d'appeler ta fonction coordScarf dans l'evenement "click" de la listbox (la procédure que je t'ai donnée) et tu donnes Orientation en argument à coordScarf
 
- tu peux mettre la variable Orientation en public, c'est pas très conseillé mais si tu le fait, prend garde qu'aucune autre variable n'ait le même nom. pour faire cela, il faut déclarer ta variable en début de module, en dehors des procédures. enfin si t'as besoin d'utiliser ta variable a un moment différent du click dans la listbox, le plus simple est de faire comme ça.
 
ah oui la procédure que je t'ai donné, renomme la juste en "Private Sub fmListbox_Click()" sinon l'evenement ne va pas se déclencher. j'ai oublié de changer le nom désolé.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Problème de récupération de valeur d'une ListBox dans une procédure

 

Sujets relatifs
Problème en PHP pour une requête SQLProblème de compilation
Problème de code dans fichier XMLproblème avec main.js
petit problème d'affichage sous ChromeProblème avec Nivo Slider
[Resolu] Problème formulaire envoi mail[XML/XSL]Problème avec aply template ou autre chose
problème de programmationProblème de split
Plus de sujets relatifs à : Problème de récupération de valeur d'une ListBox dans une procédure


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR