Eviter les doublons

ezrielle

XLDnaute Occasionnel
Bonjour à tous,

Je souhaiterai que l'utilisateur de mon programme excel ne puisse pas faire d'erreur en remplissant les tableaux.

Pour cela j'aimerai m'assurer que se soit impossible de rentrer 2 fois la même chose dans la meme colonne.

Comment dois_je faire qu'elle est l'astuce svp

Merci pour votre aide

EZ
 

Tibo

XLDnaute Barbatruc
Re : Eviter les doublons

Bonjour,

Avec une plage de saisie qui va de A1 à A ..., sélection de la plage, puis :

Données - Validation - Autoriser : Personnalisé - Formule :

=NB.SI(plage;A1)=1

Décocher : Ignorer si vide

@+
 

abc

XLDnaute Impliqué
Re : Eviter les doublons

Bonjour,
a placer en VBA dans la feuille concernée.
Private Sub Worksheet_Change(ByVal cellule As Excel.Range)
If cellule.Column = 1 Then
If Application.WorksheetFunction. _
CountIf(Range("A:A"), cellule.Value) > 1 Then
MsgBox "Hola ! Mais t'es fou , j'y suis déja "
cellule.Value = ""
cellule.Select
End If
End If
End Sub

A +
 

ROGER2327

XLDnaute Barbatruc
Re : Eviter les doublons

Bonjour à tous
Pour ezrielle : Collez ceci dans le module de code de la feuille à traiter :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ctl, i As Long, col As Long
    col = 1 [COLOR="Green"]'numéro de la colonne à contrôler[/COLOR]
    If Not Intersect(Target, Me.Columns(col)) Is Nothing Then
        ctl = Me.Range(Me.Cells(1, col), Me.Cells(Me.Rows.Count, col).End(xlUp))
        If VarType(ctl) = 8204 Then
            For i = 1 To UBound(ctl, 1)
                If Not IsEmpty(Target.Cells(1, 1)) And Target.Cells(1, 1) = ctl(i, 1) And i <> Target.Cells(1, 1).Row Then Exit For
            Next i
            If i <= UBound(ctl, 1) And i <> Target.Cells(1, 1).Row Then Target.Cells(1, 1).Select: MsgBox Target.Cells(1, 1).Value & " existe déjà en ligne " & i: Target.Cells(1, 1).Value = Empty
        End If
    End If
End Sub
Ne "plante" pas si on efface toutes les valeurs de la colonne à surveiller.​
Bon courage !
ROGER2327
 

Discussions similaires

Réponses
21
Affichages
1 K

Statistiques des forums

Discussions
312 229
Messages
2 086 425
Membres
103 206
dernier inscrit
diambote