Bonjour à tous,

Pourriez-vous m'aider à résoudre ce problème ?

Objectif : Encoder un nouveau produit dans un textbox (TB_PROD) et :

1) vérifier s'il existe déjà dans la BDD (pas de doublon possible) -> msgbox
2) afficher les produits similaires éventuels (XlPart).

Le résultat de la recherche devrait s'afficher dans un MSGBOX (plusieurs lignes possible)
La base de données est située dans la feuille INVENTAIRE -> plage nommée "LISTE".

Exemple :

TAPE12mm blanc
TAPE12mm noir
TAPE6mm blanc
TAPE9mm vert

En tapant "TAPE12" dans le textbox et sans valider (TB_PROD_BeforeUpdate), un msgbox apparait en mentionnant uniquement les TAPE12 repris ci dessus. Ceci évitera d'encoder malencontreusement un nouveau produit TAPE12.

Merci d'avance pour votre aide précieuse

Code vb : 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 TB_PROD_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
Dim rg, cel As Range
Dim Msg As String
Dim f As Worksheet
 
Set f = Sheets("INVENTAIRE")
 
If Me.TB_PROD.Text = "" Then Exit Sub
 
For Each cel In f.Range("LISTE")
 
Set rg = f.Range("LISTE").Find(what:=Me.TB_PROD.Value, lookat:=xlPart)
 
If rg Is Nothing Then
 
    Exit Sub
 
Else
 
    MsgBox "Des produits similaires ont été trouvés :"
 
    ????????
    ????????
    ????????
 
End If
 
Next
 
Set rg = Nothing
 
End Sub