Fichier suivi de production [Fermé]

Signaler
-
Messages postés
11777
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
9 août 2020
-
Bonjour,
je travaille depuis un temps sur un fichier pour entrer les données de production par les employés; le 1er onglet contient les produits en ligne unique à produire et l'onglet 2 enregistre le temps de production pris sur chaques produits unique donc peut être plusieurs fois sur un même produit par des employés différent. donc il y a un cumul des heures sur ce produit. Les heures accumulés n'apparaissent pas au format heures dans le uf et listbox ; j'ai tenté plusieurs chose mais je ni arrive pas. Merci et bonne journée

Private Sub TextBox10_Change()
If TextBox9 <> "" Then TextBox7 = Format(CDate(TextBox10) - CDate(TextBox9) - CDate(TextBox12) - CDate(TextBox11), "hh:mm:ss")
End Sub
Private Sub UserForm_Initialize()
Label20 = "00:00:00"
TextBox12 = "00:00:00"
TextBox11 = "00:00:00"
Set fBD = Sheets("commande")
Set D = CreateObject("scripting.dictionary")
For Each c In fBD.Range("A3:A" & fBD.[A65000].End(xlUp).Row)
D(c.Value) = ""
Next c
Me.ComboBox1.List = D.keys
ComboBox2.RowSource = "code"
End Sub
Private Sub ComboBox1_Click()
i = 0
Me.ListBox1.Clear
For Each c In fBD.Range("A3:A" & fBD.[A65000].End(xlUp).Row)
If c = Me.ComboBox1 Then
Me.ListBox1.AddItem
Me.ListBox1.List(i, 0) = c.Offset(, 1)
Me.ListBox1.List(i, 1) = c.Offset(, 2)
Me.ListBox1.List(i, 2) = c.Offset(, 3)
Me.ListBox1.List(i, 3) = c.Offset(, 4)
Me.ListBox1.List(i, 4) = c.Offset(, 5)
Me.ListBox1.List(i, 5) = c.Offset(, 6)
'Me.ListBox1.List(i, 6) = c.Offset(, 7)
'Me.ListBox1.List(i, 7) = c.Offset(, 8)
'Me.ListBox1.List(i, 8) = c.Offset(, 9)
i = i + 1
End If
Next c
End Sub
Private Sub ListBox1_Click()
For i = 1 To 5
Me("TextBox" & i) = Me.ListBox1.Column(i - 1)
Next i
End Sub
Private Sub b_ok_Click()
Set fvte = Sheets("production")
lot = Me.TextBox5
Set pos = fBD.[F:F].Find(what:=lot) 'focus onglet prod colonne f trouve le no lot
'If IsNumeric(Me.TextBox7) Then fBD.Cells(pos.Row, "d") = fBD.Cells(pos.Row, "d") + (Me.TextBox7)
If TextBox7 <> "" Then fBD.Cells(pos.Row, "d") = Format(CDate(TextBox7) + fBD.Cells(pos.Row, "d"), "hh:mm:ss")
ligne = fvte.[A65000].End(xlUp).Row + 1
fvte.Cells(ligne, 1) = Me.ComboBox1 'nest
fvte.Cells(ligne, 2) = Me.TextBox1 'no serie
fvte.Cells(ligne, 3) = Me.TextBox2 ' item
fvte.Cells(ligne, 4) = Me.TextBox3 = Format("h\Hmm")
fvte.Cells(ligne, 5) = CDbl(Me.TextBox4) 'hrs std
fvte.Cells(ligne, 6) = CDbl(Me.TextBox5) 'lot
fvte.Cells(ligne, 7) = TextBox7.Value 'hrs fin - hrs déb écrit dans col 7
fvte.Cells(ligne, 8) = Val(fvte.Cells(ligne - 1, 8)) + 1 'sequentiel
fvte.Cells(ligne, 9) = Me.TextBox8 'emp
fvte.Cells(ligne, 10) = CDate(Me.TextBox9) 'hrs deb
fvte.Cells(ligne, 11) = CDate(Me.TextBox10) 'hrs fin
fvte.Cells(ligne, 12) = Now
fvte.Cells(ligne, 13) = Me.TextBox11 'pause
fvte.Cells(ligne, 14) = Me.TextBox12 'hrs perdu
fvte.Cells(ligne, 15) = Me.TextBox13 'raison
fvte.Cells(ligne, 16) = Me.TextBox14 'note
raz
Me.ListBox1.Clear
End Sub

1 réponse

Messages postés
11777
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
9 août 2020
674
bonjour, avant tout, merci d'utiliser les balises de code pour afficher ton code (explications ici), et précise quelle est la ligne qui te poses soucis (en effet, tu as 2 lignes avec "format").
tu écris "n'apparaissent pas au format heures": comment apparaissent-elles?
si tu as soucis avec TextBox7, je suggère d'analyser la valeur de CDate(TextBox10) - CDate(TextBox9) - CDate(TextBox12) - CDate(TextBox11), par exemple en le mettant dans une variable et en l'examinant en mode pas à pas.