Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

WILFRIED

XLDnaute Impliqué
Salut à tous,

j'ai un problème avec une listbox à 2 colonnes. Je voudrais afficher le contenue de 2 colonne F et G dans ma listbox appelé lst_vil, voici mon code :
Code:
Option Explicit

Private Sub bt_quitter_Click()
  Unload Me
End Sub

Private Sub UserForm_Initialize()
  lst_vil.BoundColumn = 2
  lst_vil.ColumnWidths = "90;294"
  Set fls_lst = Worksheets("liste")
  Set fls_contact = Worksheets("Contacts")
  Application.ScreenUpdating = False
  With fls_lst
    .Visible = xlSheetVisible
    .Select
  End With
  Call init_lst
End Sub

Sub init_lst()
  lst_vil.Clear
  Range("F2", Range("F65536").End(xlUp)).Select
  With lst_vil
    i = 0
    For Each m_cell In Selection
      .AddItem m_cell.Value, 0
      .List(i, 0) = m_cell.Value
      .List(i, 1) = m_cell.Offset(0, 1).Value
      i = i + 1
    Next m_cell
  End With
End Sub

Ma listbox à un width de 294.

Le résultat est que je n'est que la première colonne, pas la seconde.😱

J'ai regarder dans beaucoup d'exemple mais je ne vois pas ou est mon erreur.

Si une âme charitable pouvait m'aider?

A+
 
Re : Erreur de listbox

Bonjoru

essaies ainsi

Code:
Sub init_lst()
  lst_vil.Clear
  Range("F2", Range("F65536").End(xlUp)).Select
  With lst_vil
    For Each m_cell In Selection
      .AddItem m_cell.Value, 0
      .List(.ListCount - 1, 1) = m_cell.Offset(0, 1).Value
    Next m_cell
  End With
End Sub
 
Re : Erreur de listbox

Salut Pascal,

Je viens d'essayer ta solutions, je n'ai toujours qu'une seul colonnes et en plus elle est dans l'ordre inverse..

Je vais essayé avec rowsource pour voir.

Je vous tiens au courant.

Merci et A+

Bon nouvelle erreur de rafraichissement.

Dans mon initialisation je fixe :

Code:
lst_vil.BoundColumn = 2
lst_vil.ColumnWidths = "90;294"

j'ai essayer :

Code:
lst_vil.Clear
lst_vil.RowSource = Range("F2", Range("G65536").End(xlUp)).Address

et même résultat.

J'en perds mon latin...😕

A+
 
Dernière édition:
Re : Erreur de listbox

Bon j'ai enfin réussi...😛

Voici le code que j'ai utilisé :

Code:
Range("F2", Range("F65536").End(xlUp)).Select
  With lst_vil
    .Clear
    .BoundColumn = 2
    .ColumnCount = 2
    .ColumnWidths = "90;204"
    For Each m_cell In Selection
      .AddItem m_cell.Value
      .List(.ListCount - 1, 1) = m_cell.Offset(0, 1).Value
      .TextColumn = 2
    Next m_cell
  End With

Je me suis basé sur l'exemple de l'utilisation de textcolumn dans l'aide.

En tous cas cela fonctionne.

Merci et A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
680
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Retour