Format heure dans colonne d'une ListView

Bonjour le Forum

Je viens vers vous pour de l'aide, Avec l'aide du forum, j'essai de construire une listview grâce aux différents exemples que je trouve à droite et à gauche.

J'ai un tableau de A3:Y et dans les colonnes K,L,M,N,O,P se trouve des heures en format 18:30

Ce que j'essai de faire est de remettre en format hh:mm ces colonnes dans la ListView mais je n'y arrive pas.

Pas sur de l'endroit de mon code et sa construction. Repéré par CODE EN ESSAI

Voici le code :

Private Sub UserForm_Initialize()
   Set f = Sheets("Dépassement hr et Vol supp")
   Set d = CreateObject("scripting.dictionary")
   Tbl = f.Range("A3:Y" & f.[A65000].End(xlUp).Row).Value
   Ncol = UBound(Tbl, 2)
   For i = LBound(Tbl) To UBound(Tbl)
    If Tbl(i, 8) <> "" Then d(Tbl(i, 8)) = ""
   Next i
   temp = d.keys
   Call Tri(temp, LBound(temp), UBound(temp))
   Me.ComboBox1.List = temp
   '---listview
    With Me.ListView1
        With .ColumnHeaders
           .Clear
           For k = 1 To Ncol
             .Add , , f.Cells(2, k), f.Columns(k).Width * 0.9
           Next k
        End With
        .Gridlines = True
        .View = lvwReport
        ligne = 1
        For i = 1 To UBound(Tbl)
          .ListItems.Add , , Tbl(i, 1)
          '.ListItems(ligne).ListSubItems.Add , , Cells.Offset(i, 9) '<---- CODE EN ESSAI
          For k = 2 To Ncol
          Next k
          ligne = ligne + 1
        Next i
    End With
End Sub

Merci à vous par avance

Cordialement

Bonjour,

............Cells.Offset(i, 9).Text '?

A+

bonjour

si tu peux donne un modèle et comme on peux répondre correctement

A+

Maurice

Bonjour Galopin01, archer

Merci de votre contribution,

Galopin01, même en ajoutant Text en fin de formule cela ne fonctionne pas. C'est sûrement moi qui a effectué une erreur quelque part.

archer, que tu le suggère voici un fichier simplifier pour mieux vous rendre compte.

Merci à vous deux.

Cdlt

37pompaerov0.xlsm (59.41 Ko)

Ce Cells.Offset(i, 9) est pourri : Tu peux pas donner une adresse "en dur" ?

C'est quoi ce Cells ? Alors Offset(i, 9)...

C'est ActiveCell.Offset(i, 9)

ou range("machin").Offset(i, 9)

Mais Cells.Offset... ça n'existe pas donc arrange toi pour passer "en dur" l'adresse de la cellule en question.

Si archer n'a pas résolu le problème d'ici là, je verrais demain à tête reposé à quoi correspond cette foutu cellule.

A+

Bonsoir a vous tous

peut-être comme ceci

          For k = 2 To Ncol
           If k < 8 Then
            .ListItems(ligne).ListSubItems.Add , , Tbl(i, k)
           Else
           .ListItems(ligne).ListSubItems.Add , , Format(Tbl(i, k), "hh:mm")
           End If
          '  .ListItems(ligne).ListSubItems.Add , , Cells.Offset(i, 9).Text  '<---- MON CODE
          Next k

Bonjour Galopin01, BOB71AU

Galopin01, j'avais prévenu que j'avais sûrement fais une erreur quelque part

BOB71AU, je viens de tester ta proposition cela a l'aire de fonctionner, il a fallu que j'adapte par la même occasion la macro de la ComboBox.

Pour le moment cela me convient, en cas d'amélioration de USF, si besoin d'aide je reviendrai vers vous.

Merci à vous les amis du forum

Cdlt

Bonjour

Voila une nouvelle listview

A+

Maurice

79pompaerov0.xlsm (52.73 Ko)

bonjour

j'ais trouver un petit bug

voila la modife

A+

Maurice

Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)
' Recupe le Numero de ligne
Lig = Val(ListView1.SelectedItem)
   For C = 2 To 26
      Controls("TextBox" & C).Value = Sh.Cells(Lig, C - 1)
   Next
End Sub

Bonjour archer

Je vois que tu a l'aire de te régaler sur les ListView..... Lol

Excellent travail, je n'en demandais pas autant, camarade. Le bug est modifié. J'ai vu également que tu a préparé d'autres boutons, aurai-tu une idée derrière la tête ?

Pour moi cela m'a donné quelques idées, à la base s'était juste pour effectuer une recherche, serait il possible d'enregistrer, modifier les données en se servant de L'UF actuel ? Ne connaissant pas trop les listView, j'avoue profiter de l'occasion d'avoir une personne qui maitrise.

bonjour

voila un nouveau projet

mes je te laisse du boulot HI

A+

Maurice

21pompaerov1.xlsm (84.55 Ko)

Bonjour archer

Merci pour ton boulot, c'est très gentil de ta part.

Je vais regarder à ça et essayer de trouver le boulot que tu ma laisser HI 8)

A bientôt

cdlt

Bonjour

bon je te laisse

encore une dernière

A+

Maurice

17pompaerov2.xlsm (98.60 Ko)

Bonjour

encore moi

avec Combobox & CheckBox

A+

Maurice

24pompaerov2.xlsm (107.55 Ko)

Bonsoir archer

Tu vas plus vite que moi !!! Lol

Excuse je n'ai pas plus venir plus tôt, mais je vois que tu es venu plusieurs fois de ton côté. Je vais regarder tes propositions et reviens te dire ...

Mais je suis a peu près certain que ça va être parfais

A bientôt

Cdlt

Re

Franchement , je n'en demandais pas autant, je suis très gêner du boulot que tu a fais.

Sinon, après avoir regardé tes propositions, celle avec les CkBox me parai pas mal. Pour se soir étant un peu fatigué je vais arrêter car les yeux se ferme seul.

J'ai aperçu quelques réglages à effectuer.

A bientôt

Cdlt

pompaero

Bonjour archer

Après 2 jours sur le dossier, je commence à craquer !! J'essai de faire quelques réglages qui sont simple j'en suis sûre mais me fond des nœuds au cerveau Grrrrr

j'essais de :

1) ajouter un calendrier indépendant sur les TxBox 2 et 6

2) éviter les 00:00 en "Différence av"

3) comment fait-on pour ajouter un agent, faut il le renseigner directement dans la feuille Var ?

4) est il possible d'enregistrer en même temps plusieurs agents (CbBox multiselection)

Je joins le fichier avec mes quelques essais de modif, désolé pour le fouillis que je fais

Cdlt

20pompaerov2.xlsm (131.96 Ko)

bonjour

pour les date jais pas ce module moi je prend le DTPicker (MSCONCT2.OCX)

pour les Agent faire un nouveau userform

a toi de voir

A+

Maurice

37pompaerov3.xlsm (119.68 Ko)

Bonsoir

Merci encore pour ton boulot,

sincèrement désolé mais la je n'arrive pas trop à détailler en lecture les codes et donc n'arrive pas à avancer seul, j'ai remis l'affichage des zéro.

J'aimerai et chose que j'essai de faire depuis un bon moment, afficher le total des "différences avant + après" même si l'un des 2 n'est pas renseigné.

j'essai de m'expliquer :

Les hr initiale c'est ok

La différence avant c'est ok

La différence après c'est ok

Le total des différence avant + après fonctionne seulement si les 2 sont renseignés, Est il possible d'effectuer la même chose si un seul est renseigné ?

Cdlt

pompaero

Bonjour

Je reviens vers vous pour une petite amélioration sur ce code que je n'arrive pas faire.

Private Sub Textdate3()  'Différence hr après et total hr différence
'  On Error Resume Next
'  H1 = CDate(TextBox10.Value)
   If IsDate(TextBox12.Value) Then H1 = CDate(TextBox12.Value)
   If IsDate(TextBox14.Value) Then H2 = CDate(TextBox14.Value)
      TextBox15.Value = Format(H2 - H1, "hh:mm")
   If IsDate(TextBox9.Value) Then H1 = CDate(TextBox9.Value)
   If IsDate(TextBox15.Value) Then H2 = CDate(TextBox15.Value)
      TextBox16.Value = Format(H2 + H1, "hh:mm")
End Sub

Sont concernées les TextBox9 et TextBox15 et TextBox16, car actuellement le code oblige le renseignement des TxBox 9 et 15 pour avoir un resultat correcte dans la TxBox16.

Mon soucis est que le renseignement des 2 TxBox sont pas obligatoire, très souvent on ne renseigne que la TxBox9 ou TxBox15 et parfois les 2.

Comment pourrai-je faire pour que le calcul se face si l'une des 2 TxBox n'est pas renseigné pour avoir le résultat dans la TxBox16 ?

Merci à vous

Cdlt

Rechercher des sujets similaires à "format heure colonne listview"