j'utilise cette Sub pour trier les colonnes d'un listview mais ça ne
fonctionne que sur les champs textes, je n'arrive pas à trier un champ date
avec!
Le champ date est bien déclaré comme date/heure.
Quelqu'un à une idée ?
D'avance merci
Cordialement
Codial
=================================
La Sub
=================================
Private Sub lvwDB_ColumnClick(ByVal ColumnHeader As Object)
If (lvwDB.SortKey = ColumnHeader.Index - 1) Then
If lvwDB.SortOrder = lvwAscending Then
lvwDB.SortOrder = lvwDescending
Else
lvwDB.SortOrder = lvwAscending
End If
Else
lvwDB.SortKey = ColumnHeader.Index - 1
lvwDB.SortOrder = lvwAscending
End If
lvwDB.Sorted = True
lvwDB.SelectedItem.EnsureVisible
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Raymond [mvp]
Bonjour.
à ma connaissance, les items d'un listview ne sont pas formattés et ne sont reconnus qu'en format texte même si la présentation est affichée selon un affichage date.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ Pour débuter sur le forum: http://www.mpfa.info/ Nouvelle base Access des communes françaises avec longitude, latitude et 13246 sites internet officiels http://ardecheearth.free.fr/basededonnees.htm
"Codial" a écrit dans le message de news:
| Bonjour à tous, | | Je bute sur un problème de tri. | | j'utilise cette Sub pour trier les colonnes d'un listview mais ça ne | fonctionne que sur les champs textes, je n'arrive pas à trier un champ date | avec! | | Le champ date est bien déclaré comme date/heure. | | Quelqu'un à une idée ? | | D'avance merci | | Cordialement | | Codial | ================================ | La Sub | ================================ | Private Sub lvwDB_ColumnClick(ByVal ColumnHeader As Object) | If (lvwDB.SortKey = ColumnHeader.Index - 1) Then | If lvwDB.SortOrder = lvwAscending Then | lvwDB.SortOrder = lvwDescending | Else | lvwDB.SortOrder = lvwAscending | End If | Else | lvwDB.SortKey = ColumnHeader.Index - 1 | lvwDB.SortOrder = lvwAscending | End If | lvwDB.Sorted = True | lvwDB.SelectedItem.EnsureVisible | | | End Sub | |
Bonjour.
à ma connaissance, les items d'un listview ne sont pas formattés et ne sont
reconnus qu'en format texte même si la présentation est affichée selon un
affichage date.
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Nouvelle base Access des communes françaises avec
longitude, latitude et 13246 sites internet officiels
http://ardecheearth.free.fr/basededonnees.htm
"Codial" <acodial_enlever@tiscali.fr> a écrit dans le message de news:
u8ld81EyGHA.3844@TK2MSFTNGP06.phx.gbl...
| Bonjour à tous,
|
| Je bute sur un problème de tri.
|
| j'utilise cette Sub pour trier les colonnes d'un listview mais ça ne
| fonctionne que sur les champs textes, je n'arrive pas à trier un champ
date
| avec!
|
| Le champ date est bien déclaré comme date/heure.
|
| Quelqu'un à une idée ?
|
| D'avance merci
|
| Cordialement
|
| Codial
| ================================ | La Sub
| ================================ | Private Sub lvwDB_ColumnClick(ByVal ColumnHeader As Object)
| If (lvwDB.SortKey = ColumnHeader.Index - 1) Then
| If lvwDB.SortOrder = lvwAscending Then
| lvwDB.SortOrder = lvwDescending
| Else
| lvwDB.SortOrder = lvwAscending
| End If
| Else
| lvwDB.SortKey = ColumnHeader.Index - 1
| lvwDB.SortOrder = lvwAscending
| End If
| lvwDB.Sorted = True
| lvwDB.SelectedItem.EnsureVisible
|
|
| End Sub
|
|
à ma connaissance, les items d'un listview ne sont pas formattés et ne sont reconnus qu'en format texte même si la présentation est affichée selon un affichage date.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ Pour débuter sur le forum: http://www.mpfa.info/ Nouvelle base Access des communes françaises avec longitude, latitude et 13246 sites internet officiels http://ardecheearth.free.fr/basededonnees.htm
"Codial" a écrit dans le message de news:
| Bonjour à tous, | | Je bute sur un problème de tri. | | j'utilise cette Sub pour trier les colonnes d'un listview mais ça ne | fonctionne que sur les champs textes, je n'arrive pas à trier un champ date | avec! | | Le champ date est bien déclaré comme date/heure. | | Quelqu'un à une idée ? | | D'avance merci | | Cordialement | | Codial | ================================ | La Sub | ================================ | Private Sub lvwDB_ColumnClick(ByVal ColumnHeader As Object) | If (lvwDB.SortKey = ColumnHeader.Index - 1) Then | If lvwDB.SortOrder = lvwAscending Then | lvwDB.SortOrder = lvwDescending | Else | lvwDB.SortOrder = lvwAscending | End If | Else | lvwDB.SortKey = ColumnHeader.Index - 1 | lvwDB.SortOrder = lvwAscending | End If | lvwDB.Sorted = True | lvwDB.SelectedItem.EnsureVisible | | | End Sub | |
Codial
Bonsoir Raymond,
Oui c'est exact, j'ai trouvé une solution en convertisant le champ date de la colonne en décimal: Dim i As Integer, j As Integer lvwDB.Sorted = False lvwDB.SortKey = ColumnHeader.Index - 1
'Boucle sur toutes les lignes For i = 1 To lvwDB.ListItems.Count lvwDB.ListItems(i).ListSubItems(ColumnHeader.Index - 1).Text = _ CDec(CDate(lvwDB.ListItems(i). _ ListSubItems(ColumnHeader.Index - 1).Text)) Next i
If lvwDB.SortOrder = lvwAscending Then lvwDB.SortOrder = lvwDescending Else lvwDB.SortOrder = lvwAscending End If
lvwDB.Sorted = True
'Boucle sur toutes les lignes For i = 1 To lvwDB.ListItems.Count lvwDB.ListItems(i).ListSubItems(ColumnHeader.Index - 1).Text = _ Format(CDate(lvwDB.ListItems(i).ListSubItems _ (ColumnHeader.Index - 1).Text), "DD/MM/YYYY") Next i End Sub
Cordialement
Codial
"Raymond [mvp]" a écrit dans le message de news: %
Bonjour.
à ma connaissance, les items d'un listview ne sont pas formattés et ne sont reconnus qu'en format texte même si la présentation est affichée selon un affichage date.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ Pour débuter sur le forum: http://www.mpfa.info/ Nouvelle base Access des communes françaises avec longitude, latitude et 13246 sites internet officiels http://ardecheearth.free.fr/basededonnees.htm
"Codial" a écrit dans le message de news:
| Bonjour à tous, | | Je bute sur un problème de tri. | | j'utilise cette Sub pour trier les colonnes d'un listview mais ça ne | fonctionne que sur les champs textes, je n'arrive pas à trier un champ date | avec! | | Le champ date est bien déclaré comme date/heure. | | Quelqu'un à une idée ? | | D'avance merci | | Cordialement | | Codial | ================================ > | La Sub | ================================ > | Private Sub lvwDB_ColumnClick(ByVal ColumnHeader As Object) | If (lvwDB.SortKey = ColumnHeader.Index - 1) Then | If lvwDB.SortOrder = lvwAscending Then | lvwDB.SortOrder = lvwDescending | Else | lvwDB.SortOrder = lvwAscending | End If | Else | lvwDB.SortKey = ColumnHeader.Index - 1 | lvwDB.SortOrder = lvwAscending | End If | lvwDB.Sorted = True | lvwDB.SelectedItem.EnsureVisible | | | End Sub | |
Bonsoir Raymond,
Oui c'est exact, j'ai trouvé une solution en convertisant le champ date de
la colonne en décimal:
Dim i As Integer, j As Integer
lvwDB.Sorted = False
lvwDB.SortKey = ColumnHeader.Index - 1
'Boucle sur toutes les lignes
For i = 1 To lvwDB.ListItems.Count
lvwDB.ListItems(i).ListSubItems(ColumnHeader.Index - 1).Text = _
CDec(CDate(lvwDB.ListItems(i). _
ListSubItems(ColumnHeader.Index - 1).Text))
Next i
If lvwDB.SortOrder = lvwAscending Then
lvwDB.SortOrder = lvwDescending
Else
lvwDB.SortOrder = lvwAscending
End If
lvwDB.Sorted = True
'Boucle sur toutes les lignes
For i = 1 To lvwDB.ListItems.Count
lvwDB.ListItems(i).ListSubItems(ColumnHeader.Index - 1).Text = _
Format(CDate(lvwDB.ListItems(i).ListSubItems _
(ColumnHeader.Index - 1).Text), "DD/MM/YYYY")
Next i
End Sub
Cordialement
Codial
"Raymond [mvp]" <xyzofficesystem.accessxyz@free.fr> a écrit dans le message
de news: %23x6wjVryGHA.3280@TK2MSFTNGP02.phx.gbl...
Bonjour.
à ma connaissance, les items d'un listview ne sont pas formattés et ne
sont
reconnus qu'en format texte même si la présentation est affichée selon un
affichage date.
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Nouvelle base Access des communes françaises avec
longitude, latitude et 13246 sites internet officiels
http://ardecheearth.free.fr/basededonnees.htm
"Codial" <acodial_enlever@tiscali.fr> a écrit dans le message de news:
u8ld81EyGHA.3844@TK2MSFTNGP06.phx.gbl...
| Bonjour à tous,
|
| Je bute sur un problème de tri.
|
| j'utilise cette Sub pour trier les colonnes d'un listview mais ça ne
| fonctionne que sur les champs textes, je n'arrive pas à trier un champ
date
| avec!
|
| Le champ date est bien déclaré comme date/heure.
|
| Quelqu'un à une idée ?
|
| D'avance merci
|
| Cordialement
|
| Codial
| ================================ > | La Sub
| ================================ > | Private Sub lvwDB_ColumnClick(ByVal ColumnHeader As Object)
| If (lvwDB.SortKey = ColumnHeader.Index - 1) Then
| If lvwDB.SortOrder = lvwAscending Then
| lvwDB.SortOrder = lvwDescending
| Else
| lvwDB.SortOrder = lvwAscending
| End If
| Else
| lvwDB.SortKey = ColumnHeader.Index - 1
| lvwDB.SortOrder = lvwAscending
| End If
| lvwDB.Sorted = True
| lvwDB.SelectedItem.EnsureVisible
|
|
| End Sub
|
|
Oui c'est exact, j'ai trouvé une solution en convertisant le champ date de la colonne en décimal: Dim i As Integer, j As Integer lvwDB.Sorted = False lvwDB.SortKey = ColumnHeader.Index - 1
'Boucle sur toutes les lignes For i = 1 To lvwDB.ListItems.Count lvwDB.ListItems(i).ListSubItems(ColumnHeader.Index - 1).Text = _ CDec(CDate(lvwDB.ListItems(i). _ ListSubItems(ColumnHeader.Index - 1).Text)) Next i
If lvwDB.SortOrder = lvwAscending Then lvwDB.SortOrder = lvwDescending Else lvwDB.SortOrder = lvwAscending End If
lvwDB.Sorted = True
'Boucle sur toutes les lignes For i = 1 To lvwDB.ListItems.Count lvwDB.ListItems(i).ListSubItems(ColumnHeader.Index - 1).Text = _ Format(CDate(lvwDB.ListItems(i).ListSubItems _ (ColumnHeader.Index - 1).Text), "DD/MM/YYYY") Next i End Sub
Cordialement
Codial
"Raymond [mvp]" a écrit dans le message de news: %
Bonjour.
à ma connaissance, les items d'un listview ne sont pas formattés et ne sont reconnus qu'en format texte même si la présentation est affichée selon un affichage date.
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ Pour débuter sur le forum: http://www.mpfa.info/ Nouvelle base Access des communes françaises avec longitude, latitude et 13246 sites internet officiels http://ardecheearth.free.fr/basededonnees.htm
"Codial" a écrit dans le message de news:
| Bonjour à tous, | | Je bute sur un problème de tri. | | j'utilise cette Sub pour trier les colonnes d'un listview mais ça ne | fonctionne que sur les champs textes, je n'arrive pas à trier un champ date | avec! | | Le champ date est bien déclaré comme date/heure. | | Quelqu'un à une idée ? | | D'avance merci | | Cordialement | | Codial | ================================ > | La Sub | ================================ > | Private Sub lvwDB_ColumnClick(ByVal ColumnHeader As Object) | If (lvwDB.SortKey = ColumnHeader.Index - 1) Then | If lvwDB.SortOrder = lvwAscending Then | lvwDB.SortOrder = lvwDescending | Else | lvwDB.SortOrder = lvwAscending | End If | Else | lvwDB.SortKey = ColumnHeader.Index - 1 | lvwDB.SortOrder = lvwAscending | End If | lvwDB.Sorted = True | lvwDB.SelectedItem.EnsureVisible | | | End Sub | |