• Initiateur de la discussion Initiateur de la discussion Claudy
  • Date de début Date de début

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 !

Claudy

XLDnaute Accro
Bonjour à tous,
une base de données....
Colonne A des noms , Colonne D, des montants.
Comment repèrer des doublons de montants pour un même nom et recevoir une alerte?
Merci d'avance,
Claudy
 
Re : Msg si doublons

Merci Chris,
j'ai essayé avec une validation , mais on dirait que mon excel n'enregistre pas la validation de données avec message d'alerte!
Pas possible via une macro ?

A+
Claudy
 
Dernière édition:
Re : Msg si doublons

Bon voilà j'ai trouvé:
Private Sub Worksheet_Change(ByVal Target As Range)

If Application.CountIf(Range("H:H"), Target.Value) > 1 Then
'Application.Undo

Rep = MsgBox("Voulez-vous voir le montant précédemment encodé", vbYesNo + vbCritical, "Montant en double")
If Rep = vbYes Then
' ici le traitement si réponse positive
Set celluletrouvee = Range("H:H").Find(Target.Value, lookat:=xlWhole)

Cells(celluletrouvee.Row, celluletrouvee.Column).Select

Else
' ici le traitement si réponse négative

'Target.ClearContents

End If
End If

End Sub

Merci pour votre contribution,
A+
Claudy
 
Re : Msg si doublons

Bonjour Claudy, le fil.
Ta MsgBox ne s'affichera qu'en cas de montant identique, mais ne prenant pas en compte le nom de la personne.
Tiré du site de Boisgontier:
Code:
Sub DoublonsDeuxColonnes()
 couleurs = Array(1, 3, 4, 6, 7, 8, 14, 15, 17, 20, 22, 24, 26, 27, 28, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 50, 53)
    Set mondico = CreateObject("Scripting.Dictionary")
        For Each c In Range("A1", [A65000].End(xlUp))
            clé = c.Value & c.Offset(, 3)
                mondico.Item(clé) = mondico.Item(clé) + 1
        Next c
    
        For Each c In Range("A1", [A65000].End(xlUp))
            clé = c.Value & c.Offset(, 3)
            nocoul = (Application.Match(clé, mondico.keys, 0)) Mod UBound(couleurs)
                If mondico.Item(clé) > 1 Then MsgBox "Doublon pour " & clé & " ligne" & c.Row: c.Resize(, 4).Interior.ColorIndex = couleurs(nocoul)
        Next c
End Sub
Tu auras les doublons en couleur et la MsgBox te donnera le numéro de ligne également.
 
Re : Msg si doublons

Re

Pour la validation sur D et/ou sur A :
Code:
=NB.SI.ENS(A:A;A2;D:D;D2)=0
.

Tu peux choisir avertissement ou arrête selon la possibilité ou non de passer outre. Message personnalisable.

Ne réagit qu'à la saisie ou modification pas à postériori mais l'option "Entourer les données non valides" permet alors ce repérage

A noter que le message d'alerte (onglet central de la validation) est juste une sorte de commentaire sur la cellule
 
- 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

  • Question Question
Microsoft 365 Mozaïque photos
Réponses
17
Affichages
514
Réponses
17
Affichages
704
Réponses
16
Affichages
473
Réponses
18
Affichages
385
Retour