Fichier suivi de production

Fermé
nanco - Modifié le 4 juil. 2019 à 14:50
yg_be Messages postés 23364 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 3 décembre 2024 - 4 juil. 2019 à 15:29
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
A voir également:

1 réponse

yg_be Messages postés 23364 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 3 décembre 2024 Ambassadeur 1 556
4 juil. 2019 à 15:29
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.
0