Eviter les doublons lors de la saisie dans un formulaire

Fermé
balou11 - Modifié le 9 mai 2021 à 15:02
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 10 mai 2021 à 08:40
Bonjour a tous,

Je vous expose mon problème (j'ai essayé de trouver la solution sur le net, mais en vain)
Voila j'ai une BD sur excel, en colonne B le nom, en colonne C le prénom, et en colonne A j'ai une formule qui concatène les 2.

Exemple : Je saisie en B: DUPONT
en C: ALAIN
En A : DUPONT ALAIN (cela se renseigne seul)

Mais voila, je remplie cette base via un formulaire (qui fonctionne très bien), par contre j'aimerais via VBA, interdire la saisie des doublons il deviendrait impossible de re-saisir un DUPONT ALAIN.
Il faudrait que ce code d'interdiction s’exécute après avoir saisie ALAIN, car l'utilisateur devra obligatoirement saisir le nom en premier.

Par avance je vous remercie
A voir également:

3 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
9 mai 2021 à 16:14
Bonjour,

a mettre dans le module de la feuille:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.WorksheetFunction.CountIf(Range("B:B"), Target.Value) > 1 Then
MsgBox "Nom déja employé"
Target.Value = ""
Target.Select
End If
End Sub

0
Tout d'abord merci pour la réponse Monsieur "le pivert" !

Mais cela ne fonctionne pas, je peux très bien créer un DUPONT PASCALE, il faudrait que le code puisse aller voir dans la coloonne (A) qui concatène le nom et le prénom (DUPONT ALAIN).
Il faudrait que l'utilisateur puisse dans le champ "nom" renseigner "DUPONT".
Il faudrait qu'ensuite, il puisse renseigner le prénom, mais que si dans la colonne A qui concatène les deux (non et prénom) un message s'affiche !
Merci encore a tous de prendre de votre temps
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
Modifié le 9 mai 2021 à 19:14
Rectification pour la colonne A contenant prénom et nom

A mettre dans l'userForm:

Option Explicit
Private Sub CommandButton1_Click()
Dim DerniereLigneUtilisee As Long
DerniereLigneUtilisee = Range("A" & Rows.Count).End(xlUp).Row + 1
Range("C" & DerniereLigneUtilisee).Value = TextBox1 'prénom
Range("B" & DerniereLigneUtilisee).Value = TextBox2 'nom
Range("A" & DerniereLigneUtilisee).Value = Range("C" & DerniereLigneUtilisee).Value & " " & Range("B" & DerniereLigneUtilisee).Value
End Sub



a mettre dans la feuille concernée:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.WorksheetFunction.CountIf(Range("A:A"), Target.Value) > 1 Then
MsgBox "Nom déja employé"
Target.Value = ""
Range("B" & Target.Row) = ""
Range("C" & Target.Row) = ""
Target.Select
End If
End Sub


Voilà
0
balou11 > cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024
9 mai 2021 à 21:07
Monsieur "le Pivert "

non ce n'ai toujours pas mieux, j'ai essayé avec d'autres modifications, mais cela ne fonctionne pas, je ne peux même plus créer des noms inconnu dans la base ! ! !

J'avoue que ce n'est pas simple,
Merci pour vos réponses
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728 > balou11
10 mai 2021 à 07:59
Poster ton classeur anonymisé sur ce site. Ensuite coller le lien dans ce post:

https://www.cjoint.com/

@+ Le Pivert
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
Modifié le 10 mai 2021 à 08:48
Bonjour

Pour obliger à un ordre de saisie (prenom puis nom ou l'inverse !..)

utilise la propriété des textbox: enabled
dans l'aide Vba


tantque "prénom" n'est pas renseigné, tu ne peux pas écrire dans "nom"
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
10 mai 2021 à 08:40
Si tu n'as pas l'habitude de manipuler des formulaires (userform), tu as ce topo très détaillé de SilKyroad, ancien MVP Microsoft
https://excel.developpez.com/cours/?page=prog#userform
0