Extraire contenu listbox dans une colonne

Résolu
sormick -  
 sormick -
Bonjour,

Comment peut t'on extraire tout le contenu d'une listbox dans une colonne Excel puis plus tard alimenter cette listbox avec cette colonne?

2 réponses

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    Bonjour vous deux,
    Si ce n'est pas déjà fait, je vous présente mes meilleurs voeux pour 2015.

    En complément de la réponse du Pivert, voici quelques exemples d'import, d'export et d'ajout dans une ListBox :

    Option Explicit
    
    'Importe de la feuille (A1:Axxx) dans la listbox
    Private Sub Bouton_Import_De_Feuil_A_ListBox_Click()
    ListBox1.List = Range("A1:A" & Columns(1).Cells.Find("*", , , , xlByColumns, xlPrevious).Row).Value
    End Sub
    
    'ajoute la valeur du textbox1 en premiere position dans la listbox
    Private Sub Bouton_Ajout_ListBox_First_Click()
    If TextBox1 <> "" Then ListBox1.AddItem TextBox1, 0
    End Sub
    
    'ajoute, à la listbox, la valeur du textbox1 et trie
    Private Sub Bouton_Ajout_ListBox_Et_Tri_Click()
    If TextBox1 <> "" Then ListBox1.AddItem TextBox1
    ListBox1.List = Tri(ListBox1.List)
    End Sub
    Function Tri(List) 'Tri
    'source : http://www.gcexcel.com/trier-les-elements-dans-un-listbox/
    Dim Elem
    With CreateObject("System.Collections.ArrayList")
        For Each Elem In List
            .Add Elem
        Next
        .Sort
        Tri = .ToArray
    End With
    End Function
    
    'ajoute la valeur du textbox1 en dernière position dans la listbox
    Private Sub Bouton_Ajout_ListBox_Last_Click()
    If TextBox1 <> "" Then ListBox1.AddItem TextBox1
    End Sub
    
    'Exporte de la listbox dans la feuille (de A1 à Axxx)
    Private Sub Bouton_Export_De_ListBox_A_Feuil_Click()
    Range("A1:A" & ListBox1.ListCount) = ListBox1.List
    End Sub

    0
    1. sormick
       
      Bonjour,

      Je trouve cette méthode pour importer d'une colonne de la feuille excellente:
      ListBox1.List = Range("A1:A" & Columns(1).Cells.Find("*", , , , xlByColumns

      cependant ça ne marche pas du tout!
      je pense qu'il doit manquer des parenthèses ou autre chose.
      Pouvez vous m'aider pour ce code?

      Merci
      0
      1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773 > sormick
         
        il manque une partie de la ligne :
        ListBox1.List = Range("A1:A" & Columns(1).Cells.Find("*", , , , xlByColumns, xlPrevious).Row).Value
        0
    2. sormick
       
      merci beaucoup!! très bonne journée à tous!!
      0