Microsoft 365 Mettre la 4ème colonne d'une ListBox au format [h]:mm

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

NONO14

XLDnaute Impliqué
Bonjour à toutes et à tous,

Dans mon application j'ai supprimé la ComboBox (ceux qui me suivent comprendront - https://excel-downloads.com/threads...omboBox à 3 colonnes avec les données d'un TS ) et je l'ai remplacé par une ListBox.
La ListBox est bien alimentée selon le code ci-joint, cependant je souhaiterai que la 4ème colonne soit au format [h]:mm.
Avec le code ci-joint, la 4ème colonne donne le résultat ":12".
Qu'ai-je fais qui ne convienne pas ?
Merci par avance pour votre aide
1728460462766.png

VB:
Sub RempliListBox()
Dim Ws As Worksheet
Dim Tbl As ListObject
Dim I As Long, Col As Long
Dim Data As Variant

'Définir la feuille de calcul et le tableau structuré
    Set Ws = Sheets("Liste_agents")
    Set Tbl = Ws.ListObjects("t_Noms")
   
'On récupére les données du TS
    Data = Tbl.DataBodyRange.Value
   
   
    With UfGestTemps.MultiPage1.Pages(0)

'On définie le nbre de colonnes de la ListBox
    .Lst_Employ.ColumnCount = 4

'On remplit la ListeBox avec les données du TS
    For I = 1 To UBound(Data, 1)
        .Lst_Employ.AddItem
            For Col = 1 To 4

'On formate la 4ème colonne au format "[h]:mm"
                If Col = 4 Then
                    .Lst_Employ.List(I - 1, Col - 1) = Format(Data(I, Col), "[h]:mm")
                Else
                    .Lst_Employ.List(I - 1, Col - 1) = Data(I, Col)
                End If
            Next Col
    Next I
End With
End Sub
 
Dernière édition:
Solution
Bonjour,

Ta macro de #1 :
VB:
Sub RempliListBox()
'
Dim Ws As Worksheet
Dim Tbl As ListObject
Dim I As Long, Col As Long
Dim Data As Variant

    ' Définir la feuille de calcul et le tableau structuré
    Set Ws = Sheets("Liste_agents")
    Set Tbl = Ws.ListObjects("t_Noms")

    ' On récupére les données du TS
    Data = Tbl.DataBodyRange.Value

    With UfGestTemps.MultiPage1.Pages(0)

        ' On définie le nbre de colonnes de la ListBox
        .Lst_Employ.ColumnCount = 4

        ' On remplit la ListBox avec les données du TS
        For I = 1 To UBound(Data, 1)
            .Lst_Employ.AddItem
            For Col = 1 To 4
                ' On formate la 4e colonne au format "[h]:mm"
                If Col = 4 Then...
Qu'elle est l'intérêt de ta proposition ? Tu as certainement eu une idée en faisant ça
Je profite de votre digression pour en apporter une nouvelle. 😉


- Quand le UserForm de saisie du MdP s'affiche, le champ de saisie a-t-il le focus chez toi ?
(pas chez moi)

- Si tu valides la saisie par la touche <Entrée>, cela valide-t-il immédiatement la saisie ?
(chez moi je dois appuyer une seconde fois)

- Si tu appuies sur la touche <Echap>, cela ferme-t-il le UserForm ?
(chez moi il ne se passe rien. Je suis obligé d'aller cliquer sur le bouton "Annuler")
 
Dernière édition:
Re
As tu regardé ce quelle fait , par rapport à la formule très simple "=Aujourdhui()"
mais si cette affichage te convient c'est ton Projet !
tu dis :

juste l'idée de formater la Date autrement !
bonne continuation
Jean marie
Oui, j'ai mis ta formule dans mon projet. Je voulais juste savoir ce qu'elle faisait de plus, c'est tout, pure curiosité de ma part.
Merci et bonne soirée
 
Donne moi la bonne je suis aussi la pour apprendre (je suis nul en formule) Lol
Pardon, je me suis mal fait comprendre car je n'ai pas été assez précis dans mon propos.

Je ne parlais pas de la syntaxe de la formule, mais de la syntaxe de la phrase affichée : contrairement à mes voisins les Allemands, on ne met pas de majuscules au milieu d'une phrase, et encore moins sur le nom d'un mois. 😉
 
Notre forum d’entraide est 100 % gratuit et le restera.
Aucune formation payante, aucun fichier à acheter, rien à vendre. Mais comme tout site, nous devons couvrir nos frais pour continuer à vous accompagner.
Soutenez-nous en souscrivant à un compte membre : c’est rapide, vous choisissez simplement votre niveau de soutien et le tour est joué.

Je soutiens la communauté et j’accède à mon compte membre

Discussions similaires

T
Réponses
8
Affichages
1 K
Retour