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

Selection derniere ligne ListView

  • Initiateur de la discussion Initiateur de la discussion JORDAN
  • 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 !

JORDAN

XLDnaute Impliqué
Bonsoir tout le mnde, le Forum,

J'ai une listview dans 1 usf avec de nombreuses lignes et j'aimerai savoir comment peut on faire pour sélectionner automatiquement la dernière ligne ou alors faire descendre la barre de défilement tout en bas afin de visualiser la dernière ligne de la listview

Merci à vous
 
Re : Selection derniere ligne ListView


Re-bonsoir JORDAN,

Si tu essaies avec ma ligne de code, tu verras que la dernière ligne est sélectionnée.

Cordialement.
 
Re : Selection derniere ligne ListView

Re tous le forum
Papou-net une instruction listbox pour une listview ça marche? savais pas!!
Essayes avec son fichier STP papou-net.
a+
Papou

PS: Jordan regardes dans ton fichier deux ou trois post en dessous j'ai modifié ton fichier a+
bonne soirée à tous
 
Re : Selection derniere ligne ListView

bonsoir

Un exemple pour visualiser et sélectionner la dernière ligne d'une ListView.

ListView1.ListItems(ListView1.ListItems.Count).EnsureVisible
ListView1.ListItems(ListView1.ListItems.Count).Selected = True


à bientôt
 
Re : Selection derniere ligne ListView


Bonsoir Papou (tiens, un autre papou ?)

Désolé, j'ai mal lu la question et confondu ListView et ListBox.
Je pars me coucher.

Cordialement.
 
Re : Selection derniere ligne ListView

Bonjour Paritec, Hasco, le Forum,
Merci pour ton fichier, c'est une bonne solution aussi.
J'ai cogité cette nuit sur mon projet et est-il possible,
lorsque l'usf est lancé, si on clic sur une des en-têtes de colonnes de la
listview d'éxécuter une macro, de tri par exemple
merci et bonne journée
 
Re : Selection derniere ligne ListView

re,
oups j'ai zappé le message de Bebere.

Bonjour Bebere,
Merci pour ta solution, mais chez moi la dernière ligne ne se sélectionne toujours pas
c'est pas bien grave, la visu me suffit

bonne journée
 
Re : Selection derniere ligne ListView

bonjour
ajoute listview1.setfocus après les 2 lignes et cela devrait aller
pour trier
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
ListView1.Sorted = False
ListView1.SortKey = ColumnHeader.Index - 1

If ListView1.SortOrder = lvwAscending Then
ListView1.SortOrder = lvwDescending
Else
ListView1.SortOrder = lvwAscending
End If

ListView1.Sorted = True
End Sub

avant la prochaine initialisation de la listview mettre
ListView1.Sorted = False

à bientôt



à bientôt
 
Re : Selection derniere ligne ListView

Bonsoir Bebere, le Forum,

Pour le setfocus, je viens de regarder c'est impecable

Par contre pour le tri, c'est pas impecable, le mot est trop faible
C'est super génial et en plus ça fonctionne sur toutes les colonnes

J'aurai une autre question sur la listview
En colonne 3 et 4 j'ai des nombres, certains avec des chiffres après la virgule d'autres sans.
Comment faire pour avoir 135.00 par exemple

En tout cas un grand merci à vous tous pour votre aide
bonne soirée
 
Re : Selection derniere ligne ListView

bonsoir Jordan,le Forum
dans ce cas vient d'un tableau
format(Plg1(L, 7), "0.00") ou Format(Plg1(L, 7), "0.00 €")
si vient d'une cellule Cel.text et tu auras le format de la cellule
à bientôt
 
Re : Selection derniere ligne ListView

Bonsoir le fil

Un doublon avec Bebere, Hasco
J'ai lu trop rapidement.

Bonsoir tout le mnde, le Forum,

pour sélectionner automatiquement la dernière ligne ou alors faire descendre la barre de
Merci à vous

Il suffit d'écrire la ligne ci dessous pour que la dernière ligne soit visible.

ListView1.ListItems(ListView1.ListItems.Count).EnsureVisible

Pour info le tri d'une colonne ne fonctionne pas si la colonne contient des dates sous la forme jj/mm/aaaa


JP
 
Dernière édition:
Re : Selection derniere ligne ListView

Re
bonsoir JP
le setfocus c'est pour le selected
comme je suis occupé avec une listview,j'ai essayé ce qui suit pour ceux que çà intéresse

'exemple:30 est la ligne que je souhaites placer la 1ère en haut de la zone visible

For L = 1 To ListView1.ListItems.Count
ListView1.ListItems(L).EnsureVisible
If 50 = ListView1.GetFirstVisible.Index Then Exit For

'adapter d'un code trouvé sur le net
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
Dim I As Integer, J As Integer

With ListView1
.Sorted = False
.SortKey = ColumnHeader.Index - 1
If .SortKey = 2 Or .SortKey = 7 Then'2 et 7 colonnes avec dates
'Boucle sur toutes les lignes
For I = 1 To .ListItems.Count

'Passage des données au format décimal
.ListItems(I).ListSubItems(ColumnHeader.Index - 1).Text = _
CDec(CDate(.ListItems(I). _
ListSubItems(ColumnHeader.Index - 1).Text))
Next I
End If

' ------ Application du tri -----------
If .SortOrder = lvwAscending Then
.SortOrder = lvwDescending
Else
.SortOrder = lvwAscending
End If

.Sorted = True
If .SortKey = 2 Or .SortKey = 7 Then
'Boucle sur toutes les lignes
For I = 1 To .ListItems.Count
'Ensuite on revient au format DD/MM/YYYY
.ListItems(I).ListSubItems(ColumnHeader.Index - 1).Text = _
Format(CDate(.ListItems(I).ListSubItems _
(ColumnHeader.Index - 1).Text), "DD/MM/YYYY")
Next I
End If
End With
à bientôt
 
Re : Selection derniere ligne ListView

Bonjour Bebere, le Forum,

Merci pour ton aide
en rajoutant .Text ça marche très bien
Je vais regarder ton code qui est fort bien intéressant

Merci et bonne journée
 
- 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
23
Affichages
701
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…