Format heure dans colonne d'une ListView Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
p
pompaero
Membre dévoué
Membre dévoué
Messages : 811
Appréciations reçues : 2
Inscrit le : 12 juin 2013
Version d'Excel : 2016

Message par pompaero » 11 juillet 2017, 21:58

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
Pensez à respecter et faire respecter les gestes barrières.
Image
Avatar du membre
galopin01
Passionné d'Excel
Passionné d'Excel
Messages : 6'396
Appréciations reçues : 163
Inscrit le : 18 septembre 2008
Version d'Excel : 2016
Téléchargements : Mes applications

Message par galopin01 » 12 juillet 2017, 04:55

Bonjour,
............Cells.Offset(i, 9).Text '?
A+
Question portant sur VBA : Je ne répond pas si la question ne comporte pas le classeur KIVABIEN avec.
a
archer
Membre impliqué
Membre impliqué
Messages : 1'258
Appréciations reçues : 102
Inscrit le : 8 avril 2017
Version d'Excel : 2010

Message par archer » 12 juillet 2017, 10:30

bonjour
si tu peux donne un modèle et comme on peux répondre correctement
A+
Maurice
p
pompaero
Membre dévoué
Membre dévoué
Messages : 811
Appréciations reçues : 2
Inscrit le : 12 juin 2013
Version d'Excel : 2016

Message par pompaero » 12 juillet 2017, 22:04

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
PompaeroV0.xlsm
(59.41 Kio) Téléchargé 25 fois
Pensez à respecter et faire respecter les gestes barrières.
Image
Avatar du membre
galopin01
Passionné d'Excel
Passionné d'Excel
Messages : 6'396
Appréciations reçues : 163
Inscrit le : 18 septembre 2008
Version d'Excel : 2016
Téléchargements : Mes applications

Message par galopin01 » 12 juillet 2017, 22:25

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+
Question portant sur VBA : Je ne répond pas si la question ne comporte pas le classeur KIVABIEN avec.
Avatar du membre
BOB71AU
Membre dévoué
Membre dévoué
Messages : 629
Appréciations reçues : 2
Inscrit le : 1 janvier 2010
Version d'Excel : 2003 - 2007

Message par BOB71AU » 12 juillet 2017, 22:48

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
Cordialement
Bob
p
pompaero
Membre dévoué
Membre dévoué
Messages : 811
Appréciations reçues : 2
Inscrit le : 12 juin 2013
Version d'Excel : 2016

Message par pompaero » 12 juillet 2017, 23:36

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
Pensez à respecter et faire respecter les gestes barrières.
Image
a
archer
Membre impliqué
Membre impliqué
Messages : 1'258
Appréciations reçues : 102
Inscrit le : 8 avril 2017
Version d'Excel : 2010

Message par archer » 13 juillet 2017, 11:05

Bonjour
Voila une nouvelle listview
A+
Maurice
PompaeroV0.xlsm
(52.73 Kio) Téléchargé 44 fois
a
archer
Membre impliqué
Membre impliqué
Messages : 1'258
Appréciations reçues : 102
Inscrit le : 8 avril 2017
Version d'Excel : 2010

Message par archer » 13 juillet 2017, 11:42

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
p
pompaero
Membre dévoué
Membre dévoué
Messages : 811
Appréciations reçues : 2
Inscrit le : 12 juin 2013
Version d'Excel : 2016

Message par pompaero » 13 juillet 2017, 22:40

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 ? :III
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. :():
Pensez à respecter et faire respecter les gestes barrières.
Image
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message