Empecher un doublon
Résolu
rodger85230
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
rodger85230 Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
rodger85230 Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j’ai récupéré une macro qui empêche les doublons sur la feuil1
mais pour moi il faut que cela soit sur deux feuilles (1 et 2)
et je n'y arrive pas voici le code
------------------------------

----------------------------------------
merci d'avance
**Modifié par la modération pour une lecture plus facile du code, à l'avenir utilisez les balises, VOIR CETTE PAGE
Configuration: Windows / Chrome 74.0.3729.157
j’ai récupéré une macro qui empêche les doublons sur la feuil1
mais pour moi il faut que cela soit sur deux feuilles (1 et 2)
et je n'y arrive pas voici le code
------------------------------
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$D$1" Or Target.Count > 1 Then Exit Sub If Target = "" Then Exit Sub 'pour éviter des appels successifs Dim Dli As Long Dli = Cells(Rows.Count, 1).End(xlUp).Row If Application.CountIf(Range("A1:A" & Dli), Target) > 0 Then MsgBox Target & " est déjà dans la liste", vbInformation, "pas accepté :" Target = "" End If Target.Select End Sub
----------------------------------------
merci d'avance
**Modifié par la modération pour une lecture plus facile du code, à l'avenir utilisez les balises, VOIR CETTE PAGE
A voir également:
- Rang excel sans doublon
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Ranger par ordre alphabétique excel - Guide
1 réponse
Bonjour,
comme ceci:
comme ceci:
Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$D$1" Or Target.Count > 1 Then Exit Sub If Target = "" Then Exit Sub 'pour éviter des appels successifs Dim Dli As Long Dim derniereLigne As Long Dli = Worksheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row derniereLigne = Worksheets("Feuil2").Range("A" & Rows.Count).End(xlUp).Row If Application.CountIf(Range("A1:A" & Dli), Target) > 0 Or Application.CountIf(Worksheets("Feuil2").Range("A1:A" & derniereLigne), Target) > 0 Then MsgBox Target & " est déjà dans la liste", vbInformation, "pas accepté :" Target = "" End If Target.Select End Sub
Votre réponse est la bonne , mais ma question n’était pas entière
serait'il possible que les dates qui s'inscrivent en feuil1 colonne A se retrouvent également sur la feuil2
merci d'avance
@+ Le Pivert
en fait je vais reprendre la première macro mais maintenant j'ai un autre problème c'est quand je lance une macro pour copier les données même si la date existe dans "histotest" colonne A, la macro (copie) me les copies . serait'il possible de rajouter dans cette macro de (copie) qu'il regarde si la date mise en colonne A "Donnée" est présente dans la colonne A dans "histotest" si oui avoir un message et stopper la macro ,si non que la macro continu pour la copie , voici la macro
Merci d'avance
ce que vous m'avez donné marche très bien
je marque comme résolue