Interdire d'entrer une valeur Doublon (Excel 2010)

Salut tou le monde

me voila encore avec une problématique de gestion.

j'ai un classeur (joint) avec un tableau de 4 colonnes pour la gestion des élèves.

je voudrais interdire l'entrée d'un numéro d’étudiant déjà existé dans la liste.

dans l'exemple ci-joint : le numéro 00023 existe 2 fois (doublon) :

00023 e 5 05/01/1999

je voudrais même pas autoriser l'entré d'un doublon, ça veut dire j'ai besoin d'un code VBA ;peut être; qui vérifie a chaque entrée de chaque numéro s'il existe un doublon, si oui un message d'erreur s'affiche.

Merci bcp les gars

512eleves.xlsx (10.81 Ko)

Bonjour,

S'il s'agit de tester la saisie de doublons sur la colonne A, pas besoin d'une macro.

Une validation peut suffire :

Sélectionner A2:A24

Onglet Données - Validation des données - Validation des données - Autoriser : Personnalisé - Formule :

=NB.SI($A$2:$A$24;A2)=1

On peut gérer des messages d'alerte dans les onglets suivants.

Je te laisse tester

@+

merci d'avoir répondu mais j'ai suivi ce que vous avez cité mais ca marche pas

les doublon entre normalement sans interdiction

thibo a écrit :

Bonjour,

S'il s'agit de tester la saisie de doublons sur la colonne A, pas besoin d'une macro.

Une validation peut suffire :

Sélectionner A2:A24

Onglet Données - Validation des données - Validation des données - Autoriser : Personnalisé - Formule :

=NB.SI($A$2:$A$24;A2)=1

On peut gérer des messages d'alerte dans les onglets suivants.

Je te laisse tester

@+

re,

Vois avec le fichier joint sur lequel j'ai appliqué la validation proposée.

Si pas ça, reviens avec plus de détails.

@+

1'637the-cute.xlsx (10.50 Ko)

Bonsoir à tous,

La formule de thibo fonctionne parfaitement,

je connaissais pas, et la replacerais.

Sinon en VBA

Public Flag As Boolean

Private Sub Worksheet_Change(ByVal Target As Range)
If Flag Then Exit Sub
    If Not Application.Intersect(Target, Columns("a")) Is Nothing Then
        If Target.Count > 1 Then Exit Sub
        If Application.CountIf(Range("a:a"), Target) > 1 Then
            Flag = True
                MsgBox ("Ce code élève existe déjà !")
                Target.ClearContents
            Flag = False
        End If
    End If
End Sub

Amicalement

Claude

1'383the-cute-doublon.zip (12.51 Ko)

merci les gars !! vraiment c'est super

ça marche très très bien.

merci infiniment !!

Cordialement

thibo a écrit :

Bonjour,

S'il s'agit de tester la saisie de doublons sur la colonne A, pas besoin d'une macro.

Une validation peut suffire :

Sélectionner A2:A24

Onglet Données - Validation des données - Validation des données - Autoriser : Personnalisé - Formule :

=NB.SI($A$2:$A$24;A2)=1

On peut gérer des messages d'alerte dans les onglets suivants.

Je te laisse tester

@+

Bonjour thibo,

D'abords merci pour ton aide précieuse !

J'ai un petit problème avec cette validation de données, je n'arrive pas à faire en sorte que le critère recherché (dans l'exemple que tu donne c'est A2) s'incrémente pour les autres lignes (comme c'est le cas dans le fichier que tu as fournis).

Du c'est toujours la même valeur qui est recherché... et donc je peux ajouter des lignes avec une valeur doublon elle n'est pas détectée.

J'ai aussi tenté d'utiliser les "noms relatifs", je ne sais pas si c'est le terme exact, ce que je veux dire c'est que pour définir la plage, j'ai utilisé

nom_tableau[nom_colonneA]

, et pour le critère recherché j'ai mis

@[nom_colonneA]

La formule était donc

=NB.SI(nom_tableau[nom_colonneA];@[nom_colonneA])=1

Mais ça ne marche pas non plus, toutes les saisies sont recalées...

Du coup, comment puis-je faire pour mettre en place cette validation de données comme dans ton fichier mais sans me taper les 800 lignes une par une, et qu'a l'ajout dune nouvelle ligne fait que celle-ci continue de s'incrémenter sur le critère du NB.SI ?

Rechercher des sujets similaires à "interdire entrer valeur doublon 2010"