afficher une feuille dans une listebox

zephir94

XLDnaute Impliqué
Bonjour à tous,

Je voudrais afficher dans une listebox d'un Userform une feuille.
j'ai donc formaté ma listebox sur deux colonne A et B dans les propriétés

Pour cela j'ai donc écris :

Code:
Private Sub UserForm_Activate()
ka = Sheets("Mail").Range("A1").Value
  kb = Sheets("Mail").Range("A2").Value
   kc = Sheets("Mail").Range("A3").Value
    kd = Sheets("Mail").Range("A5").Value
    kj = UserForm10.TextBox1.Value
        With UserForm10.ListBox3
  For i = 0 To (.ListCount - 1)
    If .List(i, 4) > "" Then
      Message = Message & .List(i, 1) & " - " & " " & .List(i, 2) & " " & "X" & " " & " " & .List(i, 4) & " - " & vbCrLf
    Else
msgbox"Votre liste est vide vous ne pouvez pas envoyer une commande !"
exit sub    
End If
  Next
End With
    Feuil9.Select
    Feuil9.Range("B1:B5").ClearContents
    Feuil9.Range("B7:B65536").ClearContents
    Feuil9.Range("B1").Value = ka & " " & kb & " " & kc
    Feuil9.Range("B3").Value = "Veuillez trouver une commande pour" & " " & kd
    uz = Feuil9.Range("B65536").End(xlUp).Row + 1
    Feuil9.Range("B" & uz).Value = Message
    uw = Feuil9.Range("B65536").End(xlUp).Row + 1
    Feuil9.Range("B" & uw).Value = kj
    Feuil9.Range("B" & uw + 1).Value = "Cordialement" & " " & kd

With Feuil9.Range("A1")
ListBox1.ColumnWidths = 80 & ";" & 400 
ListBox1.RowSource = Feuil9.Range(.Cells, .End(xlDown)(1, 2)).Address(External:=True)
Feuil1.Select
End With
'ListBox1.ListIndex = -1
End Sub

Mon problème est que j'ai bien un aperçu de ma feuille dans la listebox mais de A1 en B3 alors que ma feuille va jusqu'en B10 !

en pas à pas la valeur de :
Code:
ListBox1.RowSource = Feuil9.Range(.Cells, .End(xlDown)(1, 2)).Address(External:=True)

et B3 ! au lieu de B10 ???

Merci par avance pour vos aides
 
Dernière édition:

ChTi160

XLDnaute Barbatruc
Re : afficher une feuille dans une listebox

Bonjour Zephir94
Bonjour le fil
Bonjour le Forum

une idée , n'as tu pas des Cellules vides dans ta colonne de recherche de la dernière ligne vide ?
Un petit fichier exemple simplifierait la tache des éventuels participants a ce fil
dans l'attente
Bonne journée
Amicalement
Jean marie
 

zephir94

XLDnaute Impliqué
Re : afficher une feuille dans une listebox

Merci à vous deux, bon j'ai bien vérifié je n'ai pas de Cellules vides en colonne B et malgré cela ma dernière Cellule vide trouvée par :

Code:
ListBox1.RowSource = Feuil9.Range(.Cells, .End(xlDown)(1, 2)).Address(External:=True)

est B3 alors que physiquement ma colonne B est bien remplie jusqu'en B10.

J'ai donc essayé de changer xlDown en xlUp mais la c'est B1 qui est détecté je vais donc je pense changer l'adressage en détectant ma dernière cellule vide en Colonne B et remplacer

Code:
Feuil9.Range(.Cells, .End(xlDown)(1, 2))

Je test
 

JCGL

XLDnaute Barbatruc
Re : afficher une feuille dans une listebox

Bonjour à tous,

Peux-tu essayer :

VB:
ListBox1.RowSource = Range("B1:B" & Feuil9.Range("B" & Rows.Count).End(xlUp).Row)

Comme déjà écrit : cela serait plus simple avec un fichier

A+ à tous
 

zephir94

XLDnaute Impliqué
Re : afficher une feuille dans une listebox

J'ai donc changé la détection de ma dernière Cellule vide en colonne B

Code:
dv = Feuil9.Range("B65536").End(xlUp).Row
ListBox1.RowSource = Feuil9.Range("A1" & ":B" & dv).Address(External:=True)

Et ça marche !
Il ne me reste plus qu'un soucis à traiter, j'ai la liste sur une ligne alors que je lui ai demandé de les mettre à la ligne donc j'ai des retours chariot en caractère askii je voudrais qu'ils soient affiché dans la liste boc comme sur la feuille !

J'ai fait un screen du résultat
test.jpg
 

Pièces jointes

  • test.jpg
    test.jpg
    40.2 KB · Affichages: 24

zephir94

XLDnaute Impliqué
Re : afficher une feuille dans une listebox

Bon après de nombreux test ça fonctionne, il ne me reste plus qu’à régler un problème.
Ma liste se créé dans une Cellule, je peux donc avoir une Cellule avec 5 lignes par exemple.
Quand je crée dans la listbox au lieu de me les mettre comme dans une feuille les unes en dessous des autres j'ai tout dans une seule ligne avec le caractère askii retour chariot !
Comment régler ce problème ?
 

Discussions similaires

Réponses
4
Affichages
252

Statistiques des forums

Discussions
312 757
Messages
2 091 778
Membres
105 072
dernier inscrit
Pechon