1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| Private Sub TbxClt_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
'Vérif si Clt existe déjà
Dim Rg As Range, Lg As Long
Dim Cel As Range, Cpt As Long
Set Rg = Range("TbSv[Clt]").Find(TbxClt.Text) 'Recherche le Clt
If Not Rg Is Nothing Then
For Each Cel In Range("TbSv[Clt]") 'Nb d'occurences
If Cel = Rg Then Cpt = Cpt + 1
Next
Lg = Rg.Rows.Count
Select Case MsgBox("Ce Clt a déjà fait l'objet de " & Cpt & " enregistrement(s) :" _
& vbCrLf & "Concerne : " & Range("TbSv").Cells(Lg, 5) _
& vbCrLf & "Date de Courrier : " & Range("TbSv").Cells(Lg, 2) _
& vbCrLf & "Pris en charge le : " & Range("TbSv").Cells(Lg, 3) _
& vbCrLf & "Type de courrier : " & Range("TbSv").Cells(Lg, 6) _
& vbCrLf & "Type de traitement : " & Range("TbSv").Cells(Lg, 7) _
& vbCrLf & "Répondu le : " & Range("TbSv").Cells(Lg, 8) _
& vbCrLf & "(ligne " & Lg & ")" _
& vbCrLf & "" _
& vbCrLf & "Voulez-vous faire une nouvelle saisie avec ce Clt?" _
, vbYesNo Or vbExclamation Or vbDefaultButton1, "SARA - Clt existant")
Case vbYes
If Rg > 2 Then MsgBox "pour les autres occurrences, voir dans la base de données", vbExclamation, "SARA - Clt existant"
TbxNom = Range("TbSv").Cells(Lg, 5)
TbxDtCo.SetFocus
Case vbNo
TbxClt = ""
TbxClt.SetFocus
End Select
Cancel = True
End If
End Sub |
Partager