Option Compare Text
Dim nomtableau
Private Sub UserForm_Initialize()
nomtableau = "produit"
Me.enreg = Range(nomtableau).Rows.Count + 1
Me.Id = Application.Max(Range(nomtableau).Columns(1)) + 1
Tbl = Range(nomtableau).Value
Tri Tbl, LBound(Tbl), UBound(Tbl), 1
Me.Recherche.List = Tbl
For s = 1 To 4
Me("Service" & s).List = [Tableau2].Value
Next s
End Sub
Private Sub Recherche_Change()
Me.enreg = Application.Match(Val(Me.Recherche), Range(nomtableau).Columns(1), 0)
Me.Id = Me.Recherche
For i = 2 To 3
Me("TextBox" & i) = Range(nomtableau).Item(enreg, i)
Next i
Me.Textbox4 = Range(nomtableau).Item(enreg, 4)
Me.Textbox5 = Range(nomtableau).Item(enreg, 5)
Me.Textbox6 = Range(nomtableau).Item(enreg, 6)
Me.Textbox7 = Range(nomtableau).Item(enreg, 7)
For i = 9 To 11
Me("TextBox" & i) = Range(nomtableau).Item(enreg, i)
Next i
'--- services
For s = 1 To 4
Me("service" & s) = Range(nomtableau).Item(enreg, 8 + (s - 1) * 3)
Me("accord" & s) = Range(nomtableau).Item(enreg, 9 + (s - 1) * 3)
Me("visa" & s) = Range(nomtableau).Item(enreg, 10 + (s - 1) * 3)
Next s
End Sub
Private Sub B_valid_Click()
enreg = Me.enreg
Range(nomtableau).Item(enreg, 1) = Val(Me.Id)
For i = 2 To 3
Range(nomtableau).Item(enreg, i) = Me("TextBox" & i)
Next i
temp = Range(nomtableau).Item(enreg, 4): If IsDate(temp) Then temp = CDate(temp)
Range(nomtableau).Item(enreg, 4) = temp
temp = Range(nomtableau).Item(enreg, 5): If IsDate(temp) Then temp = CDate(temp)
Range(nomtableau).Item(enreg, 5) = temp
Range(nomtableau).Item(enreg, 6) = Me.Textbox6
Range(nomtableau).Item(enreg, 7) = Me.Textbox7
Range(nomtableau).Item(enreg, 35) = Me.TextBox11
For i = 9 To 11
Range(nomtableau).Item(enreg, i) = Me("TextBox" & i)
Next i
'-- services
For s = 1 To 4
Range(nomtableau).Item(enreg, 8 + (s - 1) * 3) = Me("service" & s)
Range(nomtableau).Item(enreg, 9 + (s - 1) * 3) = Me("accord" & s)
Range(nomtableau).Item(enreg, 10 + (s - 1) * 3) = Me("visa" & s)
Next s
raz
UserForm_Initialize
End Sub
Private Sub B_sup_Click()
If MsgBox("Etes vous sûr de supprimer " & Me.enreg & "?", vbYesNo) = vbYes Then
Range(nomtableau).Rows(Me.enreg).Delete
Me.Recherche.List = Range(nomtableau).Value
End If
End Sub
Private Sub B_ajout_Click()
raz
Me.Id = Application.Max(Range(nomtableau).Columns(1)) + 1
Me.enreg = Range(nomtableau).Rows.Count + 1
End Sub
Sub raz()
For i = 2 To 7
Me("TextBox" & i) = ""
Next i
For i = 9 To 11
Me("TextBox" & i) = ""
Next i
For s = 1 To 4
Me("service" & s) = ""
Me("accord" & s) = ""
Me("visa" & s) = ""
Next s
End Sub
Private Sub B_suivant_Click()
If Me.Recherche.ListIndex < Me.Recherche.ListCount - 1 Then
Me.Recherche.ListIndex = Me.Recherche.ListIndex + 1
End If
End Sub
Private Sub b_précédent_Click()
If Me.Recherche.ListIndex > 0 Then
Me.Recherche.ListIndex = Me.Recherche.ListIndex - 1
End If
End Sub