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
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
Dernière édition: