Afficher les n premiers elements d'1 listbox

C

Celine

Guest
Bonjour le forum,
Je cherche un moyen d'afficher les n premiers elements d'1 listbox dans n lignes de texbox.
Est-ce que vous avez une idée sur cette idée.
Je vous remercie d'avance
 

Hervé

XLDnaute Barbatruc
Bonjour céline, le forum


Tu peux essayer comme ca :

If n > ListBox1.ListCount Then
    MsgBox 'pas possible.'
   
Exit Sub
End If

For i = 1 To n
   
Select Case i
       
Case 1: TextBox1 = ListBox1.List(i - 1)
       
Case Else: TextBox1 = TextBox1 & Chr(13) & ListBox1.List(i - 1)
   
End Select
Next i

salut
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Céline, Hervé, bonjour le forum,

En pièce jointe une proposition quasi à l'identique d'Hervé. Je te l'envoie quand même bien qu'il ait déjà tout dit le bougre...
[file name=Celine_20050908170419.zip size=11056]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Celine_20050908170419.zip[/file]
 

Pièces jointes

  • Celine_20050908170419.zip
    10.8 KB · Affichages: 38

Hervé

XLDnaute Barbatruc
re céline salut robert :)

J'ai rien dit Robert, j'aurais du parler de plein de choses, par exemple :

-la textbox doit etre en multiligne,
-ce code ne s'applique pas à des listbox à choix multiples
-possible incompatibilité MAC avec les chr (pas sur de moi là)

salut à vous deux.
 
C

Celine

Guest
Salut Hervé,Robert,le forum,
Merci les gars.
Et si je modifie un peu la demande ,c'est-à-dire selctionner 10 elements dans le listbox et afficher après.
Par exemple ,dans l'outil que Robert a developpé,,si je veux selectionner seulement element 10 jusqu'à element 20.
Merci encore pour votre aide.
A plus
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir Céline, Hervé, Robert, le Forum

Je pense que les Chr(ansi) passent sous Mac (c'est le ChrW pour l'Unicode qui ne passe pas), mais je suis PC, donc on verra bien ce qu'il diront...

Sinon pour la dernière question de Céline en reprenant la base de Robert mais en déclarant ce fameux n !

Option Explicit
Const NbRetour As Byte = 10

Private Sub UserForm_Initialize()
Dim cel As Range
   
For Each cel In Sheets(1).Range('A2:A26')
        ListBox1.AddItem cel.Value
   
Next cel
TextBox2.SetFocus
End Sub

Private Sub TextBox2_Change()
TextBox1 = ''
End Sub

Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim n As Integer
Dim i As Integer

If Not IsNumeric(TextBox2.Value) = True Then
    Cancel =
True
    TextBox2.Value = ''
   
Exit Sub
End If

   
On Error Resume Next
   
For n = TextBox2 To TextBox2 + NbRetour
        TextBox1.Value = TextBox1.Value & ListBox1.List(n - 1) & Chr(13)
   
Next n
End Sub


Bonne Soirée
[ol]@+Thierry[/ol]
 

Hervé

XLDnaute Barbatruc
re céline, robert, le forum

Une autre proposition par listbox à choix multiple, en pièce jointe.

Tu sélectionnes l'item de départ et celui d'arrivé.


edition : salut thierry, merci pour la précision.


salut [file name=Classeur2_20050908175925.zip size=10701]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur2_20050908175925.zip[/file]

Message édité par: Hervé, à: 08/09/2005 18:01
 

Pièces jointes

  • Classeur2_20050908175925.zip
    10.5 KB · Affichages: 37

Discussions similaires

Statistiques des forums

Discussions
312 970
Messages
2 094 044
Membres
105 926
dernier inscrit
Odyssea