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

Problème d'heure dans listbox

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

K

kiki4

Guest
Bonsoir à tous, voici mon souci, dans la colonne "D" de ma feuille j'ai des heures qui apparaissent, mais pas dans ma listbox... comment faire?

Private Sub UserForm_Activate()
Dim derligne As Long, tablo
With Feuil19
derligne = .Range("a65536").End(xlUp).Row
If derligne = 1 Then Exit Sub
tablo = .Range("a2:d" & derligne)
ListBox1.List = tablo
End With
End Sub

merci d'avance.
 
Re : Problème d'heure dans listbox

Bonsoir,

Je crains qu'il faille parcourir ton tableau ligne à ligne:
Code:
Private Sub UserForm_Activate()
    Dim Ligne As Long, tablo
    With Feuil19
        derligne = .Range("a65536").End(xlUp).Row
        If Ligne = 1 Then Exit Sub
        tablo = .Range("a2:d" & Ligne)
        For Ligne = 1 To UBound(tablo)
            ListBox1.AddItem = Format(tablo(Ligne,1), "hh:mm:ss")
        Next
    End With
End Sub

A+
 
Re : Problème d'heure dans listbox

RE

Puisqu'il faut tout deviner:

Code:
Private Sub UserForm_Activate()
    Dim Ligne As Long, tablo
    With Feuil19
        Ligne = .Range("a65536").End(xlUp).Row
        If Ligne = 1 Then Exit Sub
        tablo = .Range("a2:d" & Ligne)
        For Ligne = 1 To UBound(tablo)
            ListBox1.AddItem Format(tablo(Ligne, 1), "hh:mm:ss")
        Next
    End With
End Sub

A+
 
Re : Problème d'heure dans listbox

Bonsoir kiki4, salut Hasco,

Sur une grande BDD, l'utilisation de 2 tableaux doit être plus rapide :

Code:
Private Sub UserForm_Activate()
Dim derligne&, tablo1, tablo2, i&
With Feuil19
  derligne = .Range("a65536").End(xlUp).Row
  If derligne = 1 Then Exit Sub
  tablo1 = .Range("a2:d" & derligne)
  tablo2 = .Range("d2:d" & derligne)
  For i = 1 To UBound(tablo1)
    tablo1(i, 4) = Format(tablo2(i, 1), "hh:mm")
  Next
  ListBox1.List = tablo1
End With
End Sub
Fichier joint.

A+
 

Pièces jointes

Re : Problème d'heure dans listbox

Salut Job 75 et HASCO. Un grand merci à tous les deux, votre aide m'a été utile. Veuillez m'excuser si je n'ai pas pu vous joindre un fichier, mais malheureusement je ne le pouvais pas.


Encore un grand merci à vous,

Cordialement.
 
Re : Problème d'heure dans listbox

Bonjour kiki4,

Par contre Job 75, si les heures dépasse les 24h, cela ne reporte pas dans la listbox.... comment faire?

En effet le format heure cumulée [h]:mm d'Excel n'existe pas sur VBA.

Il faut donc ruser, par exemple :

Code:
Private Sub UserForm_Activate()
Dim derligne&, tablo1, tablo2, i&, txt$
With Feuil19
  derligne = .Range("a65536").End(xlUp).Row
  If derligne = 1 Then Exit Sub
  tablo1 = .Range("a2:d" & derligne)
  tablo2 = .Range("d2:d" & derligne)
  For i = 1 To UBound(tablo1)
    txt = Format(tablo2(i, 1), "h:mm") 'pour avoir les minutes
    tablo1(i, 4) = Int(24 * tablo2(i, 1) + "1E-6") & Mid(txt, InStr(txt, ":"))
  Next
  ListBox1.List = tablo1
End With
End Sub

Le "1E-6" est aussi une ruse pour contourner les erreurs de calcul sur les dernières décimales.

Voyez pour 26:00 et 29:00 si on l'enlève...

Fichier (2).

A+
 

Pièces jointes

Re : Problème d'heure dans listbox

Re,

En travaillant sur la propriété Text des cellules (un seul tableau) on obtient ceci :

Code:
Private Sub UserForm_Activate()
Dim derligne&, tablo, i&
With Feuil19
  derligne = .Range("a65536").End(xlUp).Row
  If derligne = 1 Then Exit Sub
  tablo = .Range("a2:d" & derligne)
  For i = 1 To UBound(tablo)
    tablo(i, 4) = Cells(i + 1, 4).Text
  Next
  ListBox1.List = tablo
End With
End Sub
Fichier (3).

J'ai mesuré (sur XP/Excel 2003) les durées d'exécution sur un tableau de 63800 lignes :

- fichier (2) => 1,04 seconde

- fichier (3) => 1,90 seconde soit +80%.

A+
 

Pièces jointes

Dernière édition:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
10
Affichages
663
  • Question Question
XL 2021 listbox
Réponses
18
Affichages
740
Réponses
5
Affichages
912
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
904
Réponses
15
Affichages
786
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…