XL 2010 Listbox source fixe

harry226h

XLDnaute Junior
Bonjour a tous
Je sollicite de l'aide sur une listbox.
Dans le fichier joint j'ai une listebox qui affiche des donnnée suivant source. Mais la source semble non fixe, la listbox change en fonction de la feuille sur laquelle je me trouve et cela ne m'aide pas.
Je souhaiterais que la listbox reste inchangé quelque soit la feuille active et affiche uniquements les données de la feuille 1.
Merci d'avance
 

Pièces jointes

  • listbox .xlsm
    27.4 KB · Affichages: 29

harry226h

XLDnaute Junior
Bonjour @bbb38 , en effet je me suis pas exprimer clairement.
Par exemple dans le fichirr d'origine lorsque je me place sur la feuille 1, tout marche a merveille, mais lorsque je vais sur la feuille 4, la listbox n'affiche plus que le contenu de la feuille 4 donc vide.
J'aimerai que quelque soit la feuille sur laquelle je suis, j'ai le meme resultat que sur la feuille 1.
 

Modeste geedee

XLDnaute Barbatruc
Bonjour @bbb38 , en effet je me suis pas exprimer clairement.
Par exemple dans le fichirr d'origine lorsque je me place sur la feuille 1, tout marche a merveille, mais lorsque je vais sur la feuille 4, la listbox n'affiche plus que le contenu de la feuille 4 donc vide.
J'aimerai que quelque soit la feuille sur laquelle je suis, j'ai le meme resultat que sur la feuille 1.
nommer la source ...
upload_2018-12-20_8-24-32.png
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour le fil, bonjour le forum,

Peut-être comme ça, remplace tout ton code par celui-ci :

VB:
Private Sub UserForm_Initialize()
Dim i As Integer

For i = 1 To Sheets.Count
  Me.ComboBox1.AddItem Sheets(i).Name
Next i
Me.ComboBox1.ListIndex = 0
End Sub

Private Sub ComboBox1_Change()
Dim O As Worksheet
Dim DerLgn As Integer
Dim plage As Range
Dim large As String
Dim i As Long

Set O = Sheets(Me.ComboBox1.Text)
DerLgn = O.Cells(O.Rows.Count, 11).End(xlUp).Row
Set plage = O.Range("K1").CurrentRegion
For i = 1 To plage.Columns.Count
  large = large & ";" & Round(plage.Columns(i).Width)
Next i
large = Mid(large, 2, 200)
With Me.ListBox2
  .RowSource = O.Name & "!" & plage.Address
  .ColumnHeads = True
  .ColumnWidths = large
  .ColumnCount = plage.Columns.Count
End With
End Sub
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour le fil, bonjour le forum,

Perso, je n'utilise jamais les en-têtes. Je leur préfère une ListBox supplémentaire. Voir la pièce jointe...
J'ai gardé tes RowSource ma c'est aussi une chose que le n'utilise jamais.
 

Pièces jointes

  • Harry_v01.xlsm
    30.2 KB · Affichages: 23

Discussions similaires

Réponses
25
Affichages
675
Réponses
21
Affichages
1 K
Réponses
8
Affichages
418
Réponses
4
Affichages
323

Statistiques des forums

Discussions
312 330
Messages
2 087 351
Membres
103 526
dernier inscrit
HEC