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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  listbox multiselection et formulaire

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

listbox multiselection et formulaire

n°1578479
titemi
Posté le 24-06-2007 à 11:56:36  profilanswer
 

Bonjour,  
je viens de me lancer dans la programmation en visual basic et je bute sur une listbox à choix multiples.
Il s'agit de remplir un imprimé ou j'ai inséré des signets. Pour cela , j'ai créé un formulaire dans lequel j'ai mis une listbox avec plusieurs items.
L'utilisateur doit pouvoir choisir plusieurs items texte.
Ensuite les choix de l'utilisateur sont affichés dans l'imprimé.
Le pb est :  
quand je choisi la propriété "multiselectsingle" de la listbox, l'item choisi s'affiche. mais si je choisi "multiselectmulti", j'ai une erreur "utilisation incorrecte de null"
voici le code  
 
Option Explicit
Private Sub OK_Click()
Selection.GoTo , , , "jours"
Selection.InsertAfter ListBox1
End Sub
 
Private Sub userform_initialize()
ListBox1.AddItem "lundi"
ListBox1.AddItem "Mardi"
ListBox1.AddItem "Mercredi"
ListBox1.AddItem "Jeudi"
ListBox1.AddItem "Vendredi"
End Sub
 
L'uitlisateur doit pouvoir choisir Lundi, mardi et jeudi par exemple et cela doit s'afficher sur mon imprimé.
J'ai beau chercher, je n'arrive pas à trouver la solution.
Merci de m'aider. :pt1cable:  

mood
Publicité
Posté le 24-06-2007 à 11:56:36  profilanswer
 

n°1578506
kiki29
Posté le 24-06-2007 à 15:03:12  profilanswer
 

A adapter , ici le choix de ListBox1 est envoyé sur ListBox2


Private Sub ChoixLBox_Click()
Dim i As Integer
     
    ListBox2.Clear
    If ListBox1.ListIndex = -1 Then Exit Sub
 
    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) = True Then
            ListBox2.AddItem ListBox1.List(i)
        End If
    Next i
End Sub

n°1578528
titemi
Posté le 24-06-2007 à 16:22:16  profilanswer
 

Merci pour votre réponse ultra rapide. Voici ce que j'ai écrit :
Dim i As Integer
    If ListBox1.ListIndex = -1 Then Exit Sub
    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) = True Then
            Selection.InsertAfter ListBox1.List(i) & Chr(160)
        End If
            Next i
        End Sub
Pour que l'affichage soit plus lisible, j'ai ajouté une virgule et un espace entre chaque item en ajoutant & chr(130) & chr(160)
Cela fonctionne mais du coup, il y a une virgule derrière le dernier item.
J'ai donc enlevé la virgule pour ne laisser que l'espace mais j'aimerai connaitre la procédure pour mettre une virgule entre chaque item sauf le dernier.
Ex lundi, mardi, jeudi
merci et merci encore pour votre réponse, je vais enfin pouvoir terminer mon formulaire
 


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

  listbox multiselection et formulaire

 

Sujets relatifs
récupérer des données d'un "multi" formulaireproblème de formulaire sous firefox alors qu'il marche sur IE et Opéra
[ASP.NET 2] Formulaire HTML dans ContentPlaceHolderje cherche à faire une listbox dynamique
Probléme VALUES formulaire[VB sous Access] Reload un sous formulaire suite modif d'un autre
[Résolu] Formulaire : Pb réaffichage valeur checkboxPb réaffichage formulaire dynamique
probleme de label dans un formulaireFormulaire non envoyé ...
Plus de sujets relatifs à : listbox multiselection et formulaire


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