Bonsoir le forum,
Est il possible d'interdire la saisie de doublons dans plusieurs plages de cellules via le menu Données=>validation
Code:
exemple pour une colonne
=NB.SI($A$2:$A$11;A2)=1
et en fait j'aimerais l'appliquer sur 4 colonnes différentes.
Si ce n'est pas possible par cette option, j'accepte les propositions en VBA sans discrimination .
Bonne soirée à tous.
Re : Interdire la saisie de doublons dans plusieurs plages
Re,
J'opte pour le code d'Hervé mais merci quand même Tabernus.
Hervé : dans ton code, serait il possible de mettre un msgbox à la place de "" (je pense que oui et je vois comment faire enfin je crois) : je remplace "" par MsgBox "Ce numéro a déjà été saisi" mais surtout est il possible d'atteindre le numéro déjà saisi dans la plage concernée ?
Merci d'avance et bonne soirée.
Re : Interdire la saisie de doublons dans plusieurs plages
Bonjour à tous,
Sur la base du code d'Hervé :
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.CountIf(Range("A1:D10"), Target) > 1 Then MsgBox "Doublon !!!!", vbCritical, "Oups !!!!"
If Application.CountIf(Range("A1:D10"), Target) > 1 Then Target = ""
End Sub
Re : Interdire la saisie de doublons dans plusieurs plages
Bonsoir tous
Désolé mais comme je m'ennuyais
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.CountIf(Range("A1:D10"), Target) > 1 Then Target = Replace(Chr(31 + (MsgBox("Doublon !!!!", vbCritical, "Oups !!!!"))), Chr(32), "")
End Sub
Re : Interdire la saisie de doublons dans plusieurs plages
Re,
Merci JC.
Crois tu que l'on peut atteindre le numéro déjà saisi ? Un peu comme une recherche à l'intérieur de la plage ?
Sur ce, je te souhaite une bonne soirée.
Re : Interdire la saisie de doublons dans plusieurs plages
Re,
merci d'avoir rejoint le fil vbacrumble : plus on est de fou, plus on rit.
Pour rester sérieux, crois-tu que ma dernière question soit réalisable ?
Ou peut-être simplement d'indiquer l'adresse de la cellule dans le MsgBox ?
Bonne soirée.
Re : Interdire la saisie de doublons dans plusieurs plages
bonsoir à tous,
pour la recherche dans la plage :
Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Valeur
If Application.CountIf(Range("A1:D10"), Target) > 1 Then
MsgBox "Doublon !!!!", vbCritical, "Oups !!!!"
Valeur = Target
Target = ""
Range("A1:D10").Find(Valeur).activate
End If
End Sub
Re : Interdire la saisie de doublons dans plusieurs plages
Re,
D'accord avec toi mais tu as apporté ta pierre à l'édifice et c'est bien le but de ce forum, non ?
Encore merci à tous les acteurs de ce fil et bonne soirée.