Copie d'un tableau dans une listbox dans un userform

bonjour j'ai besoin de quelques renseignements :

sur un projet je souhaite copier dans une listbox ("listbox_nomtp")d' un userform le contenu de plage de données contenus dans différents classeurs excel .les données sont stockés dans des tableaux excel.

je voudrais recupérer dans la liste box une partie du tableau ( les 4 premières colonnes ("A,B,C,D) et les 3 dernières colonnes),ce qui se compliquent c'est que tous les tableaux n'ont pas le meme nombre de colonnes

je voudrais savoir s'il est possible de choisir les colonnes et comment le faire

pour le moment je ne sais que récuperer que le tableau entier

voici une partie de mon code

Private Sub Cmd_recherche_Click()
'choix du classeur dicté par cbl_classe
Pathname = Txt_lien.Text
Filename = Cbo_classe.Text
Workbooks.Open Filename:=Pathname & "\" & Filename

'conditions
If Cbo_classe = "1ereICCER.xlsm" Then
Sheets("bilan1ereICCER").Select
Set ws = Sheets("bilan1ereICCER").Range("A8").CurrentRegion
NL = ws.Rows.Count
NC = ws.Columns.Count
Set ws = ws.Offset(0, 0).Resize(NL, NC)
TV = ws
Me.Listbox_nomtp.ColumnCount = NC
Me.Listbox_nomtp.List = TV

Else
If Cbo_classe = "secondeTrane.xlsm" Then
Sheets("bilan seconde").Select
Set ws = Sheets("bilan seconde").Range("A8").CurrentRegion
NL = ws.Rows.Count
NC = ws.Columns.Count
Set ws = ws.Offset(5, 0).Resize(NL, NC)
TV = ws
Me.Listbox_nomtp.ColumnCount = NC
Me.Listbox_nomtp.List = TV

un petit coup de main serait le bien venu

Bonjour,

Lorsque vous postez un code, merci d'utiliser les balises de codes en cliquant sur l'icone </> disponible dans le menu et en collant le code dans la fenêtre. Il sera plus facile à lire

Sinon comme déjà répété dans d'autres de vos demandes, mettez un fichier (sans données confidentielles) si vous voulez que quelqu'un s'en occupe.

Crdlt

Private Sub Cmd_recherche_Click()
'choix du classeur dicté par cbl_classe
Pathname = Txt_lien.Text
Filename = Cbo_classe.Text
Workbooks.Open Filename:=Pathname & "\" & Filename

'conditions
If Cbo_classe = "1ereICCER.xlsm" Then
    Sheets("bilan1ereICCER").Select
    Set ws = Sheets("bilan1ereICCER").Range("A8").CurrentRegion
    NL = ws.Rows.Count
    NC = ws.Columns.Count
    Set ws = ws.Offset(0, 0).Resize(NL, NC)
    TV = ws
    Me.Listbox_nomtp.ColumnCount = NC
    Me.Listbox_nomtp.List = TV

Else
If Cbo_classe = "secondeTrane.xlsm" Then
    Sheets("bilan seconde").Select
    Set ws = Sheets("bilan seconde").Range("A8").CurrentRegion
    NL = ws.Rows.Count
    NC = ws.Columns.Count
    Set ws = ws.Offset(5, 0).Resize(NL, NC)
    TV = ws
    Me.Listbox_nomtp.ColumnCount = NC
    Me.Listbox_nomtp.List = TV

pardon Dan ,mais pour le fichier désolé je ne peux pas partager

je cherche des pistes pas du code tout fait.

Sachez que vous pouvez les effacer non ou mieux anonymiser

Pour vous aider, un utilitaire a été réalisé par l'admin du forum --> https://forum.excel-pratique.com/forum/anonymiser-les-donnees-confidentielles-des-fichiers-excel-107...

Essayez peut-être ceci:

Private Sub Cmd_recherche_Click()
'choix du classeur dicté par cbl_classe
Dim NL As Integer, NC As Integer, i As Integer, j As Integer
Dim tablo(), col()
Dim pathname As String, filename As String
Dim ws

pathname = Txt_lien.Text
filename = Cbo_classe.Text
Workbooks.Open filename:=pathname & "\" & filename

'conditions
If Cbo_classe = "1ereICCER.xlsm" Then
    'Sheets("bilan1ereICCER").Select
    Set ws = Sheets("bilan1ereICCER").Range("A8").CurrentRegion
    NL = ws.Rows.Count - 1
    NC = ws.Columns.Count
    col = Array(1, 2, 3, 4, NC - 2, NC - 1, NC)

    ReDim tablo(NL, 6)

    With Sheets("bilan1ereICCER")
        For i = 0 To NL
            For j = 0 To UBound(col)
                tablo(i, j) = .Cells(i + 8, col(j)) '8 parce que vous mentionnez Range("A8") donc premiere ligne = 8
            Next j
        Next i
    End With
    Me.Listbox_nomtp.ColumnCount = NC
    Me.Listbox_nomtp.List = tablo()

Else
'.... reste du code

Si ok, pensez à cloturer

merci pour la solution ,en effet cela fonctionne très bien

par contre

question stupide je clôture comment la discussion

alexandre

Ben vous l'avez fait en cliquant sur le petit V qui met en vert le post qui vous a donné la meilleur réponse à votre demande

Allez voir dans votre profil https://forum.excel-pratique.com/membre/52732 et vous verrez aussi quels sont les fils qui sont encore ouverts

exemple : votre demande du 02/03/22 pour laquelle BrunoM45 vous a écrit un message

Cordialement

Rechercher des sujets similaires à "copie tableau listbox userform"