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 :

multisélection vers une zone de texte


Sujet :

IHM

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 250
    Points : 93
    Points
    93
    Par défaut multisélection vers une zone de texte
    Bonjour,
    Je me creuse la tête sans succés pour faire une amélioration à ma base.
    Dans le champ texte "région" de mon formulaire, je voudrais pouvoir saisir plusieurs région en les séparant par des ";".
    Je voudrais imposer une liste de régions pour la saisie alors j'ai créé une table avec les noms "T_région".
    Avez vous une idée sur la manière dont je m'y prendre ?
    Merci d 'avance
    Mamanhou

  2. #2
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Salut,

    tu peux utiliser une zone de liste avec une sélection multiple, tu récupère chaque sélection que tu sépare par ;


    Dolphy

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 250
    Points : 93
    Points
    93
    Par défaut
    voilà j'ai un peu avancé :
    Je me suis servie d'un code trouvé dans les tutos ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Liste0_AfterUpdate()
        Texte48 = Liste0.Column(1) 'J'ai mis 1 comme numéro de colonne mais
                      'le numéro réel doit être le numéro de la colonne affichant les initiales moins 1.
    End Sub
    Super le champ "région" est bien alimenté mais uniquement par le nom de la 1ère ligne et les autres sélectionnés ne s'affichent pas ...
    Pourquoi ??

    Merci pour votre aide
    Mamanhou

  4. #4
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bonjour,
    ....le champ "région" est bien alimenté mais uniquement par le nom de la 1ère ligne et les autres sélectionnés ne s'affichent pas ...
    Jusqu'à là c'est normal, puisque c'est ce que tu demande au code d'effectuer...uniquement d'afficher dans ta zone de texte la valeur d'une seule sélection de ta zone de liste..

    Comme te le disait Dolphy, il faut récupérer chaque sélection et l'ajouter à la précédente en les séparant par un ";"..
    Ce qui donne ceci...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Liste0_AfterUpdate()
    Dim i As Variant
    Dim StrResultat As String
    'Ici, tu récupère toutes les lignes sélectionnées que tu stocke dans
    'la variable StrResultat
    For Each i In Me.Liste0.ItemsSelected
    'Ici StrResultat contient la valeur sélectionnée à laquelle 
    'on ajoute un point-virgule
        StrResultat = StrResultat & Me.Liste0.ItemData(i) & ";"
    Next i
    'Puis tu affecte à ton contrôle texte la valeur de la variable StrResultat
    Me.Texte48.Value = StrResultat
     
    End Sub
    ....en espérant répondre complétement à ta question.....

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 250
    Points : 93
    Points
    93
    Par défaut
    Bonjour,

    c'est tout à fait ce qu'il me fallait ... Merci encore pour tout
    A Bientôt
    Mamanhou

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 250
    Points : 93
    Points
    93
    Par défaut
    Bonjour,

    J'ai encore apporté une autre modif.
    Ma zone de texte qui receptionne ma selection n'est pas sur le même formulaire donc j'ai modifié le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Liste0_AfterUpdate()
    Dim i As Variant
    Dim StrResultat As String
    'Ici, tu récupère toutes les lignes sélectionnées que tu stocke dans
    'la variable StrResultat
    For Each i In Me.Liste0.ItemsSelected
    'Ici StrResultat contient la valeur sélectionnée à laquelle 
    'on ajoute un point-virgule
        StrResultat = StrResultat & Me.Liste0.ItemData(i) & ";"
    Next i
    'Puis tu affecte à ton contrôle texte la valeur de la variable StrResultat
    [forms]![frm_Cible]![Texte48].Value = StrResultat
     
    End Sub
    cela ne marche pas il me dit erreur 2450, il ne trouve pas le formulaire "frm_cible"...
    Pour situer :
    Dans mon formulaire "frm_cible" j'ai un bouton de commande qui ouvre le formulaire "F_Selection" où se trouve mon champ "Liste0".

    Merci pour votre aide
    Mamanhou

  7. #7
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bonjour,

    Si ton formulaire frm_Cible est effectivement ouvert, alors le code suivant passe bien ta sélection dans ton contrôle Texte48.....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms!frm_cible!Texte48.Value = StrResultat
    ...

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 250
    Points : 93
    Points
    93
    Par défaut
    Bonjour FreeAccess,
    Je viens de vérifier mon formulaire "Frm_cible" n'est pas fermé et pourtant il ne le trouve pas ?? erreur 2450...
    Je ne comprend plus

    merci
    Mamanhou

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 250
    Points : 93
    Points
    93
    Par défaut
    Bonjour,

    J'ai parlé de formulaire pour frm_Cible mais en fait c'est un ssformulaire lié à un formulaire principal.
    Est ce pour cela que ca ne marche pas ?

    Mamanhou

  10. #10
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bonjour,
    ...mais en fait c'est un ssformulaire lié à un formulaire principal
    ......Gagné........

    Effectivement si ton contrôle texte est situé dans un sous-formulaire, il faut le préciser dans ton code...

    Pour exemple, si dans ton Form "frm_Cible" tu insére un sous-formulaire "S_Form_frm_Cible" sur lequel est situé le contrôle "Texte48":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms!frm_Cible!S_Form_frm_Cible!Texte48.Value = StrResultat
    ..maintenant tu ne devrais plus avoir de problème...

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    250
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 250
    Points : 93
    Points
    93
    Par défaut
    Merci cela marche
    Mamanhou

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

Discussions similaires

  1. Assigner le texte d'une URL vers une zone de texte
    Par danieldou dans le forum Powerpoint
    Réponses: 0
    Dernier message: 11/02/2015, 12h32
  2. Copier le format d'une cellule vers une zone de texte
    Par stridy dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 24/03/2014, 11h13
  3. Pb de copie d'une liste vers une zone de texte
    Par lejujudu59 dans le forum IHM
    Réponses: 0
    Dernier message: 13/09/2007, 11h56
  4. Réponses: 1
    Dernier message: 28/03/2007, 11h38
  5. copie d'une zone de texte vers une autre zone de texte
    Par db48752b dans le forum Access
    Réponses: 7
    Dernier message: 23/08/2006, 08h41

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