Private Sub Userform_Initialize() 'Définition des listes de blocage ou non
Me.BlocagePFSup.List = Array("Non", "Oui") ' Première liste
Me.BlocagePFSup.ListIndex = 0 'Positionnement sur le premier élément de la liste
Me.BlocagePFPm.List = Array("Non", "Oui") ' Deuxième liste
Me.BlocagePFPm.ListIndex = 0
Me.BlocageHorsScell.List = Array("Non", "Oui") 'Troisième liste
Me.BlocageHorsScell.ListIndex = 0
Me.BlocagePFDluo.List = Array("Non", "Oui") 'Quatrième liste
Me.BlocagePFDluo.ListIndex = 0
'---Reset du Useform
NbPrelevementMono.Value = "0"
NbCaissePrelevementMono.Value = "10"
NbPrelevementBi.Value = "0"
NbCaissePrelevementBi.Value = "10"
NbCaissePaal2.Value = "0"
NbCaissePaal3.Value = "0"
NbDefFuiteScellSupS.Value = "0"
NbDefFuiteScellSupJ.Value = "0"
NbDefFuiteScellSupY.Value = "0"
ActionDefScellSup.Value = ""
NbFuiteScellPMS.Value = "0"
NbFuiteScellPMJ.Value = "0"
NbFuiteScellPMY.Value = "0"
ActionDefScelPm.Value = ""
NbFuiteHorsScellS.Value = "0"
NbFuiteHorsScellJ.Value = "0"
NbFuiteHorsScellY.Value = "0"
NbFuiteHorsScellA.Value = "0"
ActionDefHorsScel.Value = ""
NbDéfautDateS.Value = "0"
NbDéfautDateJ.Value = "0"
NbDéfautDateY.Value = "0"
ActionDefDluo.Value = ""
End Sub
Private Sub BoutonValider_Click() 'Paramètrage du bouton valider
'---Sélection de la couleur equipe
CEquipe = ""
For Each e In Me.Equipe.Controls
If e.Value Then CEquipe = e.Caption
Next e
'---Sélection du cyle
CCycle = ""
For Each c In Me.Cycle.Controls
If c.Value Then CCycle = c.Caption
Next c
'---Vérification des champs si renseignés ou non
'EQUIPE
If CEquipe = "" Then
MsgBox "Vous devez choisir une équipe"
Exit Sub
End If
'CYCLE
If CCycle = "" Then
MsgBox "Vous devez choisir un cycle"
Exit Sub
End If
'PRELEVEMENTS
If NbPrelevementMono.Value = 0 And _
NbPrelevementBi.Value = 0 Then
MsgBox "Vous devez saisir le nombre de prélèvement fait dans les différents formats"
Exit Sub
End If
If NbCaissePrelevementMono.Value = 0 And _
NbCaissePrelevementBi.Value = 0 Then
MsgBox "Vous devez saisir le nombre de caisse par prélèvement"
Exit Sub
End If
'FUITE SCELLAGE SUPERIEUR
If (NbDefFuiteScellSupS.Value <> 0 Or NbDefFuiteScellSupJ.Value <> 0 Or NbDefFuiteScellSupY.Value <> 0) And _
ActionDefScellSup.Value = "" Then
MsgBox "Vous devez saisir un commentaire sur l'action faite en équipe suite au défaut "
Exit Sub
End If
'FUITE SCELLAGE PM
If (NbFuiteScellPMS.Value <> 0 Or NbFuiteScellPMJ.Value <> 0 Or NbFuiteScellPMY.Value <> 0) And _
ActionDefScelPm.Value = "" Then
MsgBox "Vous devez saisir un commentaire sur l'action faite en équipe suite au défaut "
Exit Sub
End If
'FUITE HORS SCELLAGE
If (NbFuiteHorsScellS.Value <> 0 Or NbFuiteHorsScellJ.Value <> 0 Or NbFuiteHorsScellY.Value <> 0 Or NbFuiteHorsScellA.Value <> 0) And _
ActionDefHorsScel.Value = "" Then
MsgBox "Vous devez saisir un commentaire sur l'action faite en équipe suite au défaut hors scellage"
Exit Sub
End If
'DEFAUT DATE
If (NbDéfautDateS.Value <> 0 Or NbDéfautDateJ.Value <> 0 Or NbDéfautDateY.Value <> 0) And _
ActionDefDluo.Value = "" Then
MsgBox "Vous devez saisir un commentaire sur l'action faite en équipe suite au défaut date"
Exit Sub
End If
'QUANTITE DE CAISSES
If NbCaissePaal2.Value = 0 And NbCaissePaal3.Value = 0 Then
MsgBox "Vous devez saisir un nombre de caisse"
Exit Sub
End If
'---Vérification des formats infèrieurs et non numérique
If NbCaissePaal2.Value < 0 Or Not IsNumeric(NbCaissePaal2.Value) Then _
GoTo MsgFormatNum: Exit Sub 'Appel le message en bas du Sub
If NbCaissePaal3.Value < 0 Or Not IsNumeric(NbCaissePaal3.Value) Then _
GoTo MsgFormatNum: Exit Sub
If NbPrelevementMono.Value < 0 Or Not IsNumeric(NbPrelevementMono.Value) Then _
GoTo MsgFormatNum: Exit Sub
If NbPrelevementBi.Value < 0 Or Not IsNumeric(NbPrelevementBi.Value) Then _
GoTo MsgFormatNum: Exit Sub
If NbCaissePrelevementMono.Value < 0 Or Not IsNumeric(NbCaissePrelevementMono.Value) Then _
GoTo MsgFormatNum: Exit Sub
If NbCaissePrelevementBi.Value < 0 Or Not IsNumeric(NbCaissePrelevementBi.Value) Then _
GoTo MsgFormatNum: Exit Sub
If NbDefFuiteScellSupS.Value < 0 Or Not IsNumeric(NbDefFuiteScellSupS.Value) Then _
GoTo MsgFormatNum: Exit Sub
If NbDefFuiteScellSupJ.Value < 0 Or Not IsNumeric(NbDefFuiteScellSupJ.Value) Then _
GoTo MsgFormatNum: Exit Sub
If NbDefFuiteScellSupY.Value < 0 Or Not IsNumeric(NbDefFuiteScellSupY.Value) Then _
GoTo MsgFormatNum: Exit Sub
If NbFuiteScellPMS.Value < 0 Or Not IsNumeric(NbFuiteScellPMS.Value) Then _
GoTo MsgFormatNum: Exit Sub
If NbFuiteScellPMJ.Value < 0 Or Not IsNumeric(NbFuiteScellPMJ.Value) Then _
GoTo MsgFormatNum: Exit Sub
If NbFuiteScellPMY.Value < 0 Or Not IsNumeric(NbFuiteScellPMY.Value) Then _
GoTo MsgFormatNum: Exit Sub
If NbFuiteHorsScellS.Value < 0 Or Not IsNumeric(NbFuiteHorsScellS.Value) Then _
GoTo MsgFormatNum: Exit Sub
If NbFuiteHorsScellJ.Value < 0 Or Not IsNumeric(NbFuiteHorsScellJ.Value) Then _
GoTo MsgFormatNum: Exit Sub
If NbFuiteHorsScellY.Value < 0 Or Not IsNumeric(NbFuiteHorsScellY.Value) Then _
GoTo MsgFormatNum: Exit Sub
If NbFuiteHorsScellA.Value < 0 Or Not IsNumeric(NbFuiteHorsScellA.Value) Then _
GoTo MsgFormatNum: Exit Sub
If NbDéfautDateS.Value < 0 Or Not IsNumeric(NbDéfautDateS.Value) Then _
GoTo MsgFormatNum: Exit Sub
If NbDéfautDateJ.Value < 0 Or Not IsNumeric(NbDéfautDateJ.Value) Then _
GoTo MsgFormatNum: Exit Sub
If NbDéfautDateY.Value < 0 Or Not IsNumeric(NbDéfautDateY.Value) Then _
GoTo MsgFormatNum: Exit Sub
'---Définition du nombre de poch triés
NpochTri = (((NbPrelevementMono.Value) * (NbCaissePrelevementMono.Value)) + _
((NbPrelevementBi.Value) * (NbCaissePrelevementBi.Value))) * 24
'---Définition de la semaine calendaire
semcal = Format(Date, "ww", vbMonday, vbFirstFourDays)
'---Définition de la période
Select Case semcal
Case 1 To 4
Periode = 1
Case 5 To 8
Periode = 2
Case 9 To 12
Periode = 3
Case 13 To 16
Periode = 4
Case 17 To 20
Periode = 5
Case 21 To 24
Periode = 6
Case 25 To 28
Periode = 7
Case 29 To 32
Periode = 8
Case 33 To 36
Periode = 9
Case 37 To 40
Periode = 10
Case 41 To 44
Periode = 11
Case 45 To 48
Periode = 12
Case 49 To 53
Periode = 13
End Select
'Définition de la semaine
Select Case semcal
Case 1, 5, 9, 13, 17, 21, 25, 29, 33, 37, 41, 45, 49
Semaine = 1
Case 2, 6, 10, 14, 18, 22, 26, 30, 34, 38, 42, 56, 50
Semaine = 2
Case 3, 7, 11, 15, 19, 23, 27, 31, 35, 39, 43, 47, 51
Semaine = 3
Case 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52
Semaine = 4
Case 53
Semaine = 5
End Select
'--- Positionnement dans la base
ligne = Sheets("BD_Tri_4A").[B65000].End(xlUp).Row + 1
'--- Transfert Formulaire dans BD
Sheets("BD_Tri_4A").Cells(ligne, 2) = Date
Sheets("BD_Tri_4A").Cells(ligne, 3) = CEquipe
Sheets("BD_Tri_4A").Cells(ligne, 4) = CCycle
Sheets("BD_Tri_4A").Cells(ligne, 5) = CDbl(NpochTri)
Sheets("BD_Tri_4A").Cells(ligne, 6) = CDbl(Me.NbDefFuiteScellSupS) + CDbl(Me.NbDefFuiteScellSupJ) + CDbl(Me.NbDefFuiteScellSupY)
Sheets("BD_Tri_4A").Cells(ligne, 7) = Me.BlocagePFSup
Sheets("BD_Tri_4A").Cells(ligne, 8) = Me.ActionDefScellSup
Sheets("BD_Tri_4A").Cells(ligne, 9) = CDbl(Me.NbFuiteScellPMS) + CDbl(Me.NbFuiteScellPMJ) + CDbl(Me.NbFuiteScellPMY)
Sheets("BD_Tri_4A").Cells(ligne, 10) = Me.BlocagePFPm
Sheets("BD_Tri_4A").Cells(ligne, 11) = Me.ActionDefScelPm
Sheets("BD_Tri_4A").Cells(ligne, 12) = CDbl(Me.NbFuiteHorsScellS) + CDbl(Me.NbFuiteHorsScellJ) + CDbl(Me.NbFuiteHorsScellY) + CDbl(Me.NbFuiteHorsScellA)
Sheets("BD_Tri_4A").Cells(ligne, 13) = Me.BlocageHorsScell
Sheets("BD_Tri_4A").Cells(ligne, 14) = Me.ActionDefHorsScel
Sheets("BD_Tri_4A").Cells(ligne, 15) = CDbl(Me.NbDéfautDateS) + CDbl(Me.NbDéfautDateJ) + CDbl(Me.NbDéfautDateY)
Sheets("BD_Tri_4A").Cells(ligne, 16) = Me.BlocagePFDluo
Sheets("BD_Tri_4A").Cells(ligne, 17) = Me.ActionDefDluo
Sheets("BD_Tri_4A").Cells(ligne, 18) = CDbl(Me.NbCaissePaal2)
Sheets("BD_Tri_4A").Cells(ligne, 19) = CDbl(Me.NbCaissePaal3)
Sheets("BD_Tri_4A").Cells(ligne, 20) = (CDbl(Me.NbCaissePaal2) + CDbl(Me.NbCaissePaal3)) * 24
Sheets("BD_Tri_4A").Cells(ligne, 21) = 100 * (CDbl(NpochTri) / ((CDbl(Me.NbCaissePaal2) + CDbl(Me.NbCaissePaal3)) * 24))
Sheets("BD_Tri_4A").Cells(ligne, 22) = 10000 * ((CDbl(Me.NbDefFuiteScellSupS) + CDbl(Me.NbDefFuiteScellSupJ) + CDbl(Me.NbDefFuiteScellSupY) + _
CDbl(Me.NbFuiteScellPMS) + CDbl(Me.NbFuiteScellPMJ) + CDbl(Me.NbFuiteScellPMY)) / (CDbl(NpochTri)))
Sheets("BD_Tri_4A").Cells(ligne, 23) = ParaTarget
Sheets("BD_Tri_4A").Cells(ligne, 24) = ParaTargetMini
Sheets("BD_Tri_4A").Cells(ligne, 25) = ParaLimiteCritique
Sheets("BD_Tri_4A").Cells(ligne, 26) = semcal
Sheets("BD_Tri_4A").Cells(ligne, 27) = Periode
Sheets("BD_Tri_4A").Cells(ligne, 28) = Semaine
Sheets("BD_Tri_4A").Cells(ligne, 29) = "P" & Periode & "S" & Semaine
Unload Me
Exit Sub
'MESSAGE D'ERREUR DE FORMAT
MsgFormatNum:
MsgBox "Vous avez saisi champ du formulaire avec une valeur négative ou non numérique merci de corriger votre saisie"
Exit Sub
End Sub