Bonjour à tous,
Avec le code suivant, l'utilisateur est averti d'un doublon lors de la saisie de nouvelle donnée dans le tableau.
Cependant, je rencontre 2 difficultés :
- 1 - Le contrôle sur la colonne D qui contient des numéros de téléphone ne se fait pas (format 00 00 00 00 00) et également sur la colonne C (format 00000000).
- 2 - Dans mon code, seule la cellule sélectionnée est vidée de son contenu, hors je souhaite que la ligne entière soit vidée.
Pouvez-vous m'aider s'il vous plait ?
Je vous en remercie par avance
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 Private Sub Worksheet_Change(ByVal Target As Range) Dim vCol As Integer Dim vRéponse As Integer Dim vCellule As Object 'Vérifie si une cellule a été modifiée If Target.Columns.Count > 1 Or Target.Rows.Count > 1 Then Exit Sub If Target.Value = "" Then Exit Sub vCol = Target.Column '1=64 'compte jusqu'à 4 colonnes après 1 If vCol = 1 Or vCol = 5 Then For Each vCellule In Range(Chr(vCol + 64) & ":" & Chr(vCol + 64)) 'vérifie si la donnée a déjà été introduite If LCase(vCellule.Value) = LCase(Target.Value) And vCellule.Address <> Target.Address Then vRéponse = MsgBox("Cette donnée a déjà été introduite dans la colonne." & Chr(10) & "Voulez-vous la laisser ?", vbYesNo + vbInformation, "Attention") If vRéponse = vbNo Then Range(Target.Address).Select 'si réponse = non - alors on efface le contenu de la cellule Selection.ClearContents End If Exit Sub End If ''vérifie si la ligne est la dernière If vCellule.Row > ActiveCell.SpecialCells(xlLastCell).Row Then Exit Sub Next End If End Sub
Partager