Eviter les doublons lors de la saisie dans un formulaire
balou11
-
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 16602 Date d'inscription Statut Contributeur Dernière intervention -
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
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:
- Eviter les doublons lors de la saisie dans un formulaire
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Saisie gestuelle iphone - Guide
- Éviter pub youtube - Accueil - Streaming
- Doublons photos - Guide
3 réponses
Bonjour,
a mettre dans le module de la feuille:
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
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
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
Rectification pour la colonne A contenant prénom et nom
A mettre dans l'userForm:
a mettre dans la feuille concernée:
Voilà
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à
Poster ton classeur anonymisé sur ce site. Ensuite coller le lien dans ce post:
https://www.cjoint.com/
@+ Le Pivert
https://www.cjoint.com/
@+ Le Pivert
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
https://excel.developpez.com/cours/?page=prog#userform