Private Sub ComboBoxDN_DropButtonClick()
miseajourDN
End Sub
Private Sub ComboBoxDN_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode & Shift = "90" Or KeyCode & Shift = "130" Then
miseajourDN
End If
End Sub
Private Sub miseajourDN()
Dim i As Byte
i = correspondanceDN()
ComboBoxIX.Value = Worksheets("Feuil2").Range("D" & i).Text
formatview (i)
'miseajourtol (i)
End Sub
Private Sub ComboBoxIX_DropButtonClick()
miseajourIX
End Sub
Private Sub ComboBoxIX_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode & Shift = "90" Or KeyCode & Shift = "130" Then
miseajourIX
End If
End Sub
Private Sub miseajourIX()
Dim IX As Double
Dim i As Double
IX = CDbl(Replace(ComboBoxIX.Value, "IX", ""))
i = correspondanceIX(IX)
ComboBoxDN.Value = Worksheets("Feuil2").Range("C" & i).Text
formatview (i)
'miseajourtol (i)
End Sub
Private Sub ToggleButtonDN_Click() 'bouton diametre de passage
ComboBoxDN.Enabled = ToggleButtonDN
ToggleButtonIX = Not ToggleButtonDN
If ComboBoxDN.Enabled = True Then surbrillance ("DN")
If ComboBoxIX.Enabled = True Then surbrillance ("IX")
End Sub
Private Sub ToggleButtonIX_Click()
ComboBoxIX.Enabled = ToggleButtonIX
ToggleButtonDN = Not ToggleButtonIX
If ComboBoxIX.Enabled = True Then surbrillance ("IX")
If ComboBoxDN.Enabled = True Then surbrillance ("DN")
End Sub
Function correspondanceDN() As Double
Dim table() As Variant, i As Double, j As Double, DN As Variant
j = 0
DN = Replace(Replace(ComboBoxDN.Value, " ", ""), "IN", "")
If DN = "0.5" Or DN = "0,5" Then DN = "1/2": ComboBoxDN.Value = "1/2"
If DN = "0.75" Or DN = "0,75" Then DN = "3/4": ComboBoxDN.Value = "3/4"
If DN = "1.5" Or DN = "1,5" Then DN = "1 1/2": ComboBoxDN.Value = "1 1/2"
If DN = "11/2" Then DN = "1 1/2": ComboBoxDN.Value = "1 1/2"
table = Array("1/2", "3/4", "1", "1 1/2", "2", "2.5", "3", "4", "5", "6", "8", "10", "12", "14", "16", "18", "20", "22", "24", "26", "28", "30", "32", "34", "36", "38", "40", "42", "44", "46", "48")
For i = LBound(table) To UBound(table)
If DN = table(i) Then j = 14 + i: Exit For
Next i
correspondanceDN = j
End Function
Function correspondanceIX(IX As Double) As Double
Dim table() As Double, i As Double, j As Double
j = 0
table = Array(15, 20, 25, 40, 50, 65, 80, 100, 125, 150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850, 900, 950, 1000, 1050, 1100, 1150, 1200)
For i = LBound(table) To UBound(table)
If IX = table(i) Then j = 14 + i: Exit For
Next i
correspondanceIX = j
End Function
Sub surbrillance(arg)
ActiveSheet.OLEObjects("ComboBox" & arg).Activate
ActiveSheet.OLEObjects("ComboBox" & arg).Object.SelStart = 0
ActiveSheet.OLEObjects("ComboBox" & arg).Object.SelLength = Len(ActiveSheet.OLEObjects("ComboBox" & arg).Object.Value)
End Sub
Private Sub formatview(i)
With Worksheets("Feuil2")
LabelHG4.Caption = .Range("P" & i).Text
LabelHG3.Caption = .Range("O" & i).Text
LabelHG2.Caption = .Range("N" & i).Text
LabelDG1.Caption = "Ø" & .Range("E" & i).Text
LabelDG8.Caption = "Ø" & .Range("L" & i).Text
LabelDG5.Caption = "Ø" & .Range("I" & i).Text
LabelDG6.Caption = "Ø" & .Range("J" & i).Text
LabelHG1.Caption = .Range("M" & i).Text
LabelDG2.Caption = "Ø" & .Range("F" & i).Text
LabelDG3.Caption = "Ø" & .Range("G" & i).Text
LabelDG4.Caption = "Ø" & .Range("H" & i).Text
LabelHG5.Caption = .Range("Q" & i).Text
LabelDG7.Caption = "Ø" & .Range("K" & i).Text
End With
End Sub
Private Sub miseajourtol(i As Double)
Dim IX As Double
If i = 100 Then Exit Sub
IX = CSng(Replace(Worksheets("Feuil2").Range("D" & i), "IX", ""))
If IX <= 80 Then
LabelTolDG1.Caption = "±0.2"
ElseIf IX <= 350 Then
LabelTolDG1.Caption = "±0.3"
Else: LabelTolDG1.Caption = "±0.4"
End If
If IX <= 80 Then
LabelTolDG5.Caption = "±0.1"
ElseIf IX <= 350 Then
LabelTolDG5.Caption = "±0.2"
Else: LabelTolDG5.Caption = "±0.4"
End If
If IX <= 150 Then
LabelTolDG6Max.Caption = "+0.1"
LabelTolDG6Min.Caption = "-0"
Else: LabelTolDG6Max.Caption = "+0.2"
LabelTolDG6Min.Caption = "-0"
End If
If IX <= 150 Then
LabelTolDG7Max.Caption = "+0.1"
LabelTolDG7Min.Caption = "-0"
Else: LabelTolDG7Max.Caption = "+0.2"
LabelTolDG7Min.Caption = "-0"
End If
If IX <= 40 Then
LabelTolHG3.Caption = "±0.05"
ElseIf IX <= 200 Then
LabelTolHG3.Caption = "±0.1"
ElseIf IX <= 400 Then
LabelTolHG3.Caption = "±0.2"
ElseIf IX <= 600 Then
LabelTolHG3.Caption = "±0.3"
ElseIf IX <= 800 Then
LabelTolHG3.Caption = "±0.4"
ElseIf IX <= 1000 Then
LabelTolHG3.Caption = "±0.5"
Else: LabelTolHG3.Caption = "±0.6"
End If
If IX <= 150 Then
LabelTolHG5Max.Caption = "+0"
LabelTolHG5Min.Caption = "-0.1"
ElseIf IX <= 350 Then
LabelTolHG5Max.Caption = "+0"
LabelTolHG5Min.Caption = "-0.2"
ElseIf IX <= 550 Then
LabelTolHG5Max.Caption = "+0"
LabelTolHG5Min.Caption = "-0.3"
ElseIf IX <= 700 Then
LabelTolHG5Max.Caption = "+0"
LabelTolHG5Min.Caption = "-0.4"
ElseIf IX <= 900 Then
LabelTolHG5Max.Caption = "+0"
LabelTolHG5Min.Caption = "-0.5"
ElseIf IX <= 1100 Then
LabelTolHG5Max.Caption = "+0"
LabelTolHG5Min.Caption = "-0.6"
Else: LabelTolHG5Max.Caption = "+0"
LabelTolHG5Min.Caption = "-0.7"
End If
End Sub
Private Sub ecrituretabinventor(i)
Dim a As Integer
If i = 100 Then Exit Sub
With Worksheets("Feuil2")
For a = 1 To 19
.Range("T" & a) = .Cells(13, a)
.Range("U" & a) = .Cells(i, a)
Next a
.Range("U" & 20) = LabelTolDG1.Caption
.Range("U" & 21) = LabelTolDG5.Caption
.Range("U" & 22) = Replace(LabelDG6.Caption, "Ø", "")
.Range("U" & 23) = LabelTolDG6Min.Caption
.Range("U" & 24) = LabelTolDG6Max.Caption
.Range("U" & 26) = Replace(.Range("U" & 24), "+", "") / 2
.Range("U" & 25) = CDbl(Replace(Replace(LabelDG6.Caption, "Ø", ""), ".", ",")) + _
CDbl(.Range("U" & 26))
.Range("U" & 27) = Replace(LabelDG7.Caption, "Ø", "")
.Range("U" & 28) = LabelTolDG7Min.Caption
.Range("U" & 29) = LabelTolDG7Max.Caption
.Range("U" & 31) = CDbl(Replace(LabelTolDG7Max.Caption, "+", "")) / 2
.Range("U" & 30) = CDbl(Replace(Replace(LabelDG7.Caption, "Ø", ""), ".", ",")) + CDbl(.Range("U" & 31))
.Range("U" & 32) = LabelTolHG3.Caption
.Range("U" & 33) = LabelHG5.Caption
.Range("U" & 34) = LabelTolHG5Min.Caption
.Range("U" & 35) = LabelTolHG5Max.Caption
.Range("U" & 37) = -CDbl(Replace(LabelTolHG5Min.Caption, ".", ",") / 2)
.Range("U" & 33) = CDbl(LabelHG5.Caption) + CDbl(.Range("U" & 37))
.Range("U" & 36) = CDbl(.Range("U" & 33)) + CDbl(.Range("U" & 37))
End With
End Sub