Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 N'afficher que la dernière ligne d'un tableau dans listbox

  • Initiateur de la discussion Initiateur de la discussion meyscal
  • Date de début Date de début

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 !

meyscal

XLDnaute Occasionnel
Bonjour à tous,

je cherche désespérément une solution pour n'afficher que la dernière ligne de mon tableau dans ma ListBox.
Celle-ci se trouve dans 1 UserForm avec TextBox et Combobox.
Ces derniers contrôles reprennent les éléments de la ListBox afin de pouvoir la modifier.

Ce formulaire permet justement aux utilisateurs après vérification de leur dernière saisie de la modifier si erreur. Je reprends donc la dernière ligne remplie du tableau vu que les saisies s'incrémentent à la fin.
Voilà je vous explique exactement car vous l'aurez compris, je ne veux pas que les personnes modifient une autre ligne !

Ci-dessous le code ; l'avant dernière ligne (que j'ai passé en texte) me permet de trier en ordre inverse donc avec la dernière ligne tout en haut et en réduisant significativement la hauteur de la ListBox, j'arrive à n'afficher que ça mais c'est pas pour autant très sécurisé ... un petit malin, arrivera toujours à descendre quand-même !

Accessoirement, j'aimerais également que cette ligne soit de suite sélectionnée à l'Initialize du UF pour pas à avoir à cliquer dessus pour afficher les champs dans les TB et CB mais si pas possible je mettrai 1 label au-dessus pour l'indiquer, donc c'est pas trop grave.

Petite précision, je fais cela en bénévolat pour une association histoire de leur faciliter le travail donc si vous m'aider vous faites également votre BA et c'est toujours bon à prendre les points de Karma 😉

Un rand grand merci par avance !

VB:
Private Sub UserForm_Initialize()
Sheets("Indemnités_km").Activate
With ListBox1
.List = Range("A4:J" & Range("A303").Row).Value
.ColumnCount = 6
End With
ListBox1.ColumnWidths = "70;250;250;110;50;50"
Dim i As Integer
For i = ListBox1.ListCount - 1 To 0 Step -1
    If ListBox1.List(i) = "" Then ListBox1.RemoveItem (i)
Next i
'ListBox1.TopIndex = ListBox1.ListCount - 2
End Sub
 
Bonsoir job75

oui bonne remarque ! En fait c'est un oubli. Je n'ai pas modifié cette partie car au départ mes colonnes avec formules étaient dispersées partout dans le tableau et j'avais donc la totalité des colonnes.
Mais ça s'est vite avéré compliqué d'adapter à chaque fois le code donc j'ai déplacé mes colonnes avec formules et réadapté plusieurs codes. Celui-ci a été oublié
Voilà tu sais tout 😉
 
Bon je ne prends donc que les 6 premières colonnes de la feuille source :
VB:
Private Sub UserForm_Initialize()
Dim c As Range
Set c = Sheets("Indemnités_km").Range("A4:F303").Find("*", , xlValues, , , xlPrevious)
With ListBox1
    .ColumnCount = 6
    .ColumnWidths = "70;250;250;110;50;50"
    If c Is Nothing Then Exit Sub
    .List = c.EntireRow.Resize(, 6).Value
    .Selected(0) = True
End With
End Sub
Comme demandé une seule ligne est affichée dans la ListBox.
 
Re,

pardon j'ai fait un peu vite ...
Maintenant c'est l'index qui ne va plus 😒
Je retrouve dans le TB et CB que les valeurs de la 1ère ligne

Une idée de comment modifier SVP ? Je vais essayer en modifiant l'évènement... voire ajouter dans l'initialize du UF. Mais j'en doute car même en cliquant sur la ligne ça ne s'actualise pas
Mais au cas où je ne trouve pas ...

Voici le code :

VB:
Private Sub ListBox1_Click()
For X = 1 To 5
Me.Controls("TextBox" & X).Value = Cells(Me.ListBox1.ListIndex + 4, X)
Next X
End Sub
 
Non j'ai essayé et c'est bien ce que je pensais ça ne fonctionne plus ...
Egalement en passant Selected(0) = False et sélection de la ligne.
Problème lié à l'index ?
 
- 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
415
Réponses
10
Affichages
316
  • Question Question
Microsoft 365 MFC dans tableau
Réponses
2
Affichages
255
  • Question Question
Microsoft 365 Tableau
Réponses
24
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…