IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

[FORMULAIRE] Multi-Selection Zone de liste


Sujet :

IHM

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2005
    Messages : 98
    Points : 59
    Points
    59
    Par défaut [FORMULAIRE] Multi-Selection Zone de liste
    Bonjour tout le monde.

    J'ai un petit soucis, j'ai une zone de liste qui contient 3 colonnes.

    -NumCommande
    -NumLigneCommande
    -DescriptionCommande

    J'ai mis la possibilité d'une selection etendu sur la liste. Ce qui fait qu'avec la touche ALT, l'utilisateur peut selectionner plusieurs lignes (en noir).

    Le truc c'est que lorsqu'il appuie sur la touche 'Entrée', un formulaire s'ouvre. J'aimerai recuperer à l'ouverture de ce formulaire les valeurs de la deuxieme colonnes (NumLigneCommande) selectionnée. Je suis parti du coté ListeCommande.selected mais je nage un peu.

    J'espere avoir été clair.

    Merci du coup de main.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 206
    Points : 127
    Points
    127
    Par défaut
    Pour récupérer la valeur d'une colonne, au niveau de la ligne sélectionnée

    nomduform.nomdelaliste.Column(i)
    i = 0 ==> première colonne (affichée ou non)
    i = 1 ==> deuxième colonne (affichée ou non)
    i = listcount - 1 ==> dernière colonne
    i = listcount ==> erreure


    Avec plusieurs lignes, pourquoi pas un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    nomduform.nomdelaliste.column(lacolonnevoulue).selected(i)
    Une petite boucle
    for i = 0 to nbrdeligneselect, et tu récupères la valeur à chaque tour...

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2005
    Messages : 98
    Points : 59
    Points
    59
    Par défaut
    Je suis parti sur ca donc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim i As Integer
    Dim vartemp As String
     
    For i = 0 To [Infos Usine].[Form_Infos Usine].Liste58.ListCount
        If [Infos Usine].[Form_Infos Usine].Liste58.Selected(i) = True Then
            vartemp = [Infos Usine].[Form_Infos Usine].Liste58.Column(2).Selected(i)
        End If
    Next
    J'ai une erreur sur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vartemp = [Infos Usine].[Form_Infos Usine].Liste58.Column(2).Selected(i)
    Erreur d'execution 424 :
    Objet requis

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 206
    Points : 127
    Points
    127
    Par défaut
    Tu peux tenter en utilisant des msgbox pour cibler ce que tu cherches :

    msgbox(liste.selected(i))
    msgbox(liste.column(x))
    msgbox(liste.column(a).selected(i)) ==> apparement, ce n'est pas la bonne méthode vu le message d'erreure, mais autant vérifier...

    Selon les résultats obtenus, tu peux peut-être envisager de créer une liste à colonne unique, reprenant ta colonne (2), que tu alimentes sur l'évènement clic de la liste, et alt+clic...

  5. #5
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2005
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2005
    Messages : 98
    Points : 59
    Points
    59
    Par défaut
    Trouvé !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim i As Integer
    Dim vartemp As String
    
    For i = 0 To [Infos Usine].[Form_Infos Usine].Liste58.ListCount
        If [Infos Usine].[Form_Infos Usine].Liste58.Selected(i) = True Then
            MsgBox ([Infos Usine].[Form_Infos Usine].Liste58.Column(2, i))
        End If
    Next
    La propriété Column permet de désigner une colonne spécifique ou une combinaison de colonnes et de lignes dans une zone de liste modifiable ou une zone de liste multicolonne. Variant en lecture seule.

    expression.Column(Index, Ligne)
    expression Requise. Expression renvoyant l'un des objets figurant dans la liste Application.

    Index Long obligatoire. Entier de type long compris entre 0 et la valeur de la propriété ColumnCount moins un.

    Ligne Variant facultatif. Entier compris entre 0 et la valeur de la propriété ListCount moins un.

    Le paramétrage de cette propriété n'est accessible qu'à l'aide d'une macro ou de Visual Basic. Il n'est pas accessible en mode Création et est en lecture seule dans les autres modes.
    Suffisait de rajouter la ligne

    Merci pour l'aiguillage

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 206
    Points : 127
    Points
    127
    Par défaut
    Han, j'avais mal cerné la question, mais ce n'est pas plus mal, ça t'a permi de trouver tout seul !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 14
    Dernier message: 22/03/2013, 13h05
  2. Réponses: 3
    Dernier message: 11/10/2010, 10h46
  3. Réponses: 2
    Dernier message: 06/10/2010, 11h11
  4. Réponses: 5
    Dernier message: 05/01/2006, 13h30
  5. [formulaire] absence dans zone de liste
    Par roms1 dans le forum IHM
    Réponses: 4
    Dernier message: 10/11/2005, 12h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo