re
As-tu pu regarder le problème de doublon en création sur la textbox1 STP ?
le début de la Private Sub CommandButton1_Click() doit être celle ci
Dim Dl As Long, lg As Long
With Sheets("TI040")
.Activate
If TextBox1.Value = "" Then MsgBox "veuillez compléter la rubrique N° TI1040": Exit Sub
'Vérifie la présence d'un doublon dans la base
If Me.TextBox1.Value > 0 Then
On Error Resume Next
lg = .Range("A2:A" & .Range("A" & .Rows.Count).End(xlUp).Row).Find(Me.TextBox1.Value, LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=True).Row
If lg <> 0 Then MsgBox "Ce n° de TI040 existe déjà dans la base!", vbOKOnly + vbCritical + vbApplicationModal, "N° TI040": Me.TextBox1 = "": Exit Sub
End If
On Error GoTo 0
...
Pour le reste voici ce que tu dois faire :
Juste avant cette ligne --> Const entrees_entieres_permises = "0123456789" & vbCr & vbBack
Mets ceci:
Dim stpevt As Boolean
Plus bas, remplace la sub Private Sub CommandButton2_Click() par celle-ci
Private Sub CommandButton2_Click()
stpevt = True
Unload Me
stpevt = False
End Sub
Ensuite juste la ligne en dessous de Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean), ajoute ceci
If stpevt = True Then Exit Sub
A la fin des macros USERFORM, ajoute cette macro pour t'éviter de sortir via la croix de l'userform
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode <> 1 Then MsgBox "Vous ne pouvez pas fermer par cette action. Veuillez cliquer sur le bouton Quitter": Cancel = True
End Sub
Dis moi si souci
Amicalement