Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

laplayast

XLDnaute Occasionnel
Bonjour,

Je souhaiterai compléter le code suivant,pour éviter les doublons des colonnes,et je ne vois pas comment faire.Les valeurs sont ajoutées colonne par colonne;donc soit on fait un test sur chaque colonne,ou on duplique la macro pour chaque colonne à tester.Mais je ne vois pas comment faire;sachant que je dois tester les colonnes;E,F,G,etc..
Merci à tous.

Code VBA:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 4 Then 'Concerne la colonne d
If Application.WorksheetFunction. _
CountIf(Range("d4:d10000"), Target.Value) > 1 Then
MsgBox "Valeur déjà saisie !!! -- Veuillez recommencer"
Target.Value = ""
Target.Select
End If
End If
End Sub
 
Re : Macro doublons

Bonjour,

A tester

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    'Si on est dans une cellule comprise entre E4 et G10000
    If Not Intersect(Target, Range("E4:G10000")) Is Nothing Then
        If Application.WorksheetFunction. _
           CountIf(Range(Cells(4, Target.Column), Cells(10000, Target.Column)), Target.Value) > 1 Then
            MsgBox "Valeur déjà saisie !!! -- Veuillez recommencer"
             Application.EnableEvents=False
            Target.Value = ""
            Application.EnableEvents=True
            Target.Select
        End If
    End If
End Sub

A+
 
Dernière modification par un modérateur:
Re : Macro doublons

Bonjour laplayast, le Forum,

Voici un code, créé par ??? (pardon 😱 à son "Papa" ou 😱 sa "Maman" !)

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Value = "" Then
Exit Sub
End If
For Each cell In Intersect(UsedRange, Cells)
If cell.Address = Target.Address Then
GoTo suite
End If
If cell.Value = Target.Value Then
MsgBox "saisissez un autre numéro, celui ci existe déjà"
Target.Value = ""
Target.Select
Exit For
End If
suite:
Next cell
End Sub

Celui-ci évite la saisie de doublons, s'agissant de nombres, chiffres ou lettres.

Bonne fin de journée.
 
Re : Macro doublons

Re,

M'est avis que son papa ou sa maman aurait du réfléchir avant de le pondre.

A chaque changement il parcours toutes les cellules utilisées de la feuille. Va vite s'essouffler le petit.

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
15
Affichages
786
Retour