[Résolu] Reconnaitre un doublon dans la saisie sur une même ligne

genus17

XLDnaute Nouveau
Bonsoir,
Je me permets de faire appel à vous, car j’ai un petit problème avec une macro que je veux modifier pour mon boulot,

J’ai donc une macro pour reconnaitre un doublon dans la saisie sur les colonnes.
Je voudrais la modifier pour lui faire reconnaitre un doublon dans la saisie sur une même ligne.
Mon tableau de saisie commence à partir de D6
Exemple : si j’ai le chiffre 11 en D6, et que je tape en R6, une box m’indique que j’ai un doublon et me demande si je veux le conserver si oui, il le garde et non il le supprime.
Bien sûr, si j’ai un même chiffre 11 est sur une autre ligne, je ne veux pas de message box.
Pouvez-vous me venir en aide sur cette macro ?

Merci pour votre aide et pour votre réponses.

Voilà la macro:
Dim Temoin As Boolean
Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("D6:R100"), Target) Is Nothing And Target.Count = 1 Then 'zone de contrôle
Temoin = True
For Each c In Range("D6:R100") 'zone anti-doublons
If Target.Column And c.Value <> Empty Then
If c.Value = Target.Value And c.Row <> Target.Row And c.Value <> Empty Then
reponse = MsgBox("Doublon avec : " & c.Address & Chr$(10) & _
"Voulez-vous le garder ?", vbYesNo + vbInformation, "Détection doublon")
If reponse = vbNo Then
Target.Value = Empty
Temoin = False
Exit Sub
End If
Exit Sub
End If
End If
Next c
Temoin = False
End If
End Sub

Voila une demo de mon tableau, bien plus simple
 

Pièces jointes

  • 03 BT Conf org.xlsm
    31.7 KB · Affichages: 56
  • 03 BT Conf org.xlsm
    31.7 KB · Affichages: 61
  • 03 BT Conf org.xlsm
    31.7 KB · Affichages: 58
Dernière édition:

Robert

XLDnaute Barbatruc
Repose en paix
Re : Reconnaitre un doublon dans la saisie sur une même ligne

Bonsoir ke fil, bonsoir le forum,

La V3 testée chez moi avait l'air de bien fonctionner mais j'ai pas testé des heures... Si il y a bug ça serait bien que tu dises où et quand... Avant que je me décourage...
 

genus17

XLDnaute Nouveau
Re : Reconnaitre un doublon dans la saisie sur une même ligne

Bonjour Robert, Bonjour le forum,

J'ai refaire une install de mon office.
Hier soir j'ai eu des bug avec la V3 et depui la re install, c'est tout bon, Nickel elle fonctionne tres bien cette macro.
C'est vraiment génial, merci pour ton aide et aussi pour ta patience, Bravo à toi.
Ta une belle maitrise de Excel, j'espere qu'un jour, j'aurais le même niveau pour venir en aide aux personnes.
Si jamais tu passe dans mon coin (La Rochelle ) fait moi signe, cela serait un plaisir de t'offir un pot sur le port de La Rochelle.
Cordialement
 

genus17

XLDnaute Nouveau
Re : Reconnaitre un doublon dans la saisie sur une même ligne

Bonsoir Robert, Bonsoir le Forum,

J'ai une petite question, rien de grave.
J'ai un message de Excel quand j'ouvre mon fichier " Désactiver les macros"; "Activer les macros" et "Plus d'infos".
C'est possible de faire "Activer les macros" en automatique? car sinon il y a pas de la macro pour reconnaitre un doublon dans la saisie.
Merci de ta réponse apres j'arrête.:eek:

Cordialement
 

laetitia90

XLDnaute Barbatruc
Re : Reconnaitre un doublon dans la saisie sur une même ligne

bonjour genus17,l'ami Robert :):)
si je peus me permettre de repondre vu que Robert pas la
tu as reinstalle excel donc par defaut les macros sont deactivées il faut les reactiver
tu vas dans securite macros la plusieurs choix
la tu selectionne ton choix il est bien aussi de cocher accés approuve au modele d'object du projet vba

ps: le "Robert":):):):):):):):) ta fait un super truc
 
Dernière édition:

genus17

XLDnaute Nouveau
Re : Reconnaitre un doublon dans la saisie sur une même ligne

Bonjour laetitia90,
Merci pour l'acitivation sous 2012 et les conseils.
Il y a la même chose pour la version 2003?
Oui pour la macro de Robert, c'est génial.
Je lui tir mon chapeau
 

genus17

XLDnaute Nouveau
Re : Reconnaitre un doublon dans la saisie sur une même ligne

Bonjour Robert, Bonjour le forum,

Désolé Robert, mais nous avons bien un petit bug dans la macro, je m'explique:
En M1-J7, tu tape 18 et en M2-J7 tu tape 18
Nous avons bien un messahe pour le doublon.
Répondre au message pas "Non", alors le chiffre en M2-J7 supprimé.
Reviens en M1 et en J7 tape 19, idem en M2 et en J7 tape 19.
La Macro ne fonctionne plus
C'est possible Robert de voir pour une solution stp?
Merci de ton aide et de ton retour.

Cordialement
 

genus17

XLDnaute Nouveau
Re : Reconnaitre un doublon dans la saisie sur une même ligne

Bonjour Fo_rum,

Je sais pas pour le problème de "Témoin" pour la V3, car je suis un bon débutant :eek: , désolé

Si je demande de l'aide à Robert ou bien au forum voila pourquoi.

Je tente de faire tout les jours des macros, mais rien de bien spécial j'arrive, mais la je bloc

Merci à vous pour votre aide.

Cordialement
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Reconnaitre un doublon dans la saisie sur une même ligne

Bonjour le fil, bonjour le forum,

Genus, désolé, mais je n'ai pas eu/pris le temps de regarder ton problème... J'essaie de regarder ça ce soir.
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Reconnaitre un doublon dans la saisie sur une même ligne

Bonsoir le fil, bonsoir el forum,

Fo_rum avait vu juste il y avait bel et bien un problème de Temoin qui n'était pas réinitialiser en cas de Non...

Le code :
Code:
Private Temoin As BooleanSub Worksheet_Change(ByVal Target As Range)
Dim l As Integer 'déclare la variable l (Ligne)
Dim r As Range 'déclare la variable r (Recherche)
Dim rao As Range 'décalre la variable rao (Recherche Autre Onglet)
Dim pa As String 'déclare la variable pa (Première Adresse)


'si le changement a lieu ailleurs que dans la plage D6:R100 ou si plusieurs cellules sélectionnées, sort de la procédure
If Intersect(Range("D6:R100"), Target) Is Nothing Or Selection.Rows.Count > 1 Then Exit Sub
'si la cellule est effacée ou si témoin est vraie, sort de la procédure
If Target.Value = "" Or Temoin = True Then Exit Sub
l = Target.Row 'définit la ligne l
Temoin = True 'attribue la valeur "vrai" à la variable Temoin
If l < 10 And l > 5 Then
    Set rao = Sheets("M1").Rows("6:9").Find(Target.Value, , xlValues, xlWhole)
    If Not rao Is Nothing Then 'condition : si il existe au moins un doublon dans M2
        'si "Non" au message, la cellule editée est effacée
        If MsgBox("Doublon dans l'onglet M1 avec : " & rao.Address(0, 0) & Chr$(10) & "Voulez-vous le garder ?", vbYesNo + vbInformation, _
            "Détection doublon") = vbNo Then Target.ClearContents:: Temoin = False: Exit Sub
    End If 'fin de la condition
End If
pa = Target.Address 'définit la première adresse pa
Set r = Rows(l).Find(Target.Value, Target, xlValues, xlWhole) 'définit la recherche
If Not r Is Nothing And r.Address <> pa Then 'condition : si il existe au moins un doublon
    'si "Non" au message, la cellule editée est effacée
    If MsgBox("Doublon dans cet onglet avec : " & r.Address(0, 0) & Chr$(10) & "Voulez-vous le garder ?", vbYesNo + vbInformation, _
        "Détection doublon") = vbNo Then Target.ClearContents
End If 'fin de la condition
Temoin = False 'reinitialise la variable Temoin
End Sub
Le fichier :

@Laetitia : Merci pour prendre la relève et merci pour le compliment (p... que je suis fier !).
 

Pièces jointes

  • Genus_v04.xls
    112 KB · Affichages: 38

genus17

XLDnaute Nouveau
Re : Reconnaitre un doublon dans la saisie sur une même ligne

Bonsoir Robert, Bonsoir le forum,

Il y a un truc qui cloche.
Si je tape en M1 ou M2 un chiffre, tout de suite j'ai, le message comme quoi il y a un doublon:confused:

Help Robert, désolé pour la gêne

Salutations
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Reconnaitre un doublon dans la saisie sur une même ligne

Bonsoir le fil, bonsoir le forum,

Ça m'apparendra à faire un copier/coller du code d'un onglet à l'autre et ensuite de ne pas tester... La v05 en pièce jointe :
 

Pièces jointes

  • Genus_v05.xls
    112.5 KB · Affichages: 33

genus17

XLDnaute Nouveau
Re : Reconnaitre un doublon dans la saisie sur une même ligne

Robert,

J'ai une super nouvelle, génial la macro fonctionne nickel.
Le top, trop fort, une fois de plus je te tir mon chapeau.
Merci pour ton aide et aussi merci au forum

Cordialement
 

genus17

XLDnaute Nouveau
Re : Reconnaitre un doublon dans la saisie sur une même ligne

Bonjour Robert, Bonjour le forum,

Robert, j’ai un problème suite à la mise en place de ta macro dans mon fichier.
Je viens de faire une reproduction de mon fichier avec ta macro « Genusv06.xls ».
J’utilise une autre macro d’extraction « DJN Menu.xls » pour voir si j’ai des manquants dans une colonne du fichier « Genusv06.xls ».
Je pense que ce qui cloche avec ma macro d’extraction c’est qu’il y a un contrôle de D6 :D9 dans le fichier« Genusv06.xls »
En pièce jointe le message d’erreur « Erreur D'exécution_002.jpg »
J’espère que je suis clair dans mon problème, sinon n’hésite pas à me le faire savoir.
Merci pour ton aide et pour ton retour.

Cordialement
 

Pièces jointes

  • DJN Menu.xls
    95 KB · Affichages: 44
  • Extraction_manquants.xls
    153 KB · Affichages: 36
  • Genusv06.xls
    153 KB · Affichages: 43
  • Erreur D'exécution_002.jpg
    Erreur D'exécution_002.jpg
    31.2 KB · Affichages: 100
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
315 105
Messages
2 116 254
Membres
112 702
dernier inscrit
JRCa91