Bonjour,
A la sortie de ma Textbox, je vérifie si un client a déjà été contacté.
Si oui, j'envoie un mess pour demander si l'on veut continuer la saisie avec ce client ou pas
Si la réponse est Oui, je renvoie un message informatif pour donner le nb d’occurrences du client et je fais remonter dans la USF toute les
informations du client pour la 1ère saisie; l'utilisateur est sensé renseigner le nouveau motif du courrier et changer la date de réception.

Si la réponse est Non, je retourne la USF vide pour une nouvelle saisie. Cette réponse fonctionne bien.
Par contre si la réponse est Oui, ma messbox fonctionne, mais pas moyen de modifier l'USF. Le message revient et boucle jusqu'au bug.
Voici mon code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Est-ce que quelqu'un peut m'expliquer ce qui ne va pas, svp.
Merci