Identifier doublons dans un classeur

Bonjour a tous le monde et une bonne année surtout.

Petite question : j'ai un classeur excel avec 12 feuilles de Janvier à décembre, dans ces feuilles on gère un numéro de série et un code article mais il arrive que des doublons se fasse et malheureusement nous n'arrivons pas à les identifier.

ll y a bien sûr une condition, c'est que le numéro de série est rattaché au code article, donc un numéros de série peut être le même mais pour 2 produits différents.

Comment faire quand on rentre un numéro dans une feuille, il aille fouillé les autres feuilles afin de voir si le numéro n'est pas déjà pris ?

D'avance merci pour votre aide

Bonjour,

Bonjour,

Merci pour ton message, mais j'ai beau essayé de joindre un fichier, ce ne fonctionne pas

Avez-vous un message d'erreur lorsque vous souhaitez insérer un fichier ?

Salut Krakite, jpbt,

Meilleurs voeux pour 2025 !

Si vraiment, tu ne parviens pas à envoyer ton fichier, prends une capture d'écran ( Windows + Shift + S ) de la disposition de tes onglets et renseigne-nous dans quelle colonne faire la recherche

A+

Aucun message d'erreur, je l'insère où je le fait glisser, mais rien de se passe, il n'apparais pas

Voilà 2 captures pour exemples sur janvier et février, en rouge mes doublons en février par exemple

comme on peut le voir, un numéro de série peut être le même pour 2 références différente

Mon but est d'identifier ces doublons en fonction de la référence bien sûr, le top serais qu'il soit impossible lors de la saisie de rentrer un doublons où une alerte

Encore merci

capture 1 capture 2

Salut Krakite, jpbt,

si je vois et comprends bien :
- les n° à vérifier pour éviter les doublons se trouvent à droite de la colonne 'Date de contrôle' (colonne [D:D] ??) ?
- tu as déjà utilisé le n° 3515 en janvier d'où doublon en février ?
- pareil pour le n° T0160 en janvier qui est même encodé 2 fois en février ?

J'imagine donc que les feuilles de recherche sont les 12 premières...

Précise si je fais erreur quelque part!

A+

jpbt,

Oui c'est ça, la seule conditions est la référence: un même numéro de série peut être dans 2 références différentes, on le vois dans ma capture, le T0160 apparait 2 fois mais n'est considérer en doublons que pour la référence 258963 car déjà utiliser en janvier sur cette référence

12mise-en-stock.xlsx (70.04 Ko)

bonjour krakite, salut Curulis57,

pour le moment, il faut encore lancer la macro avec l bouton sur la feuille "Doublon".

Les doublons sont oranges avec une MFC sur chaque feuille

11mise-en-stock.xlsb (73.30 Ko)

Salut Krakite, BsAlv,

y'a un truc que je ne pige pas : un n° de série ne peut pas apparaître sur une 'Ref' différente, me semble-t-il, non?
Pour 'T0160', OK, mais '3515' apparaît pour une même 'Ref' : pourquoi y a-t-il doublon?

Pas commerçant, moi! Précision, siouplaît!

A+

Bonjour BsAlv,

J'aime bien cette solution, je serais preneur pour l'automatiser

Merci

re,

salut Curulis57,

il faut utiliser la colonne B (N) OF) ou C (Réf), j'ai pris C

Puis pour les adresses, voir feuille "Doublons"

PS. le fichier est modifié depuis ...

Curulis57,

T0160 est en doublons sur janvier et Février pour la référence 258963

3515 est lui aussi en doublons sur Janvier et février sur la référence 789456 (colonne N en janvier et F en février)

Ooops, pardon, je cherchais midi à 14:00!
Je ne crée pas (encore) de feuille récapitulative comme BsAlv mais le calcul démarre sur :
- un changement de valeur en colonnes [F:F] et suivantes
- sur un double-clic sur un n° de série à vérifier

Résultat dans une MsgBox SSI il y a doublon.
Tout peut se concevoir!

For x = 1 To WorksheetFunction.Min(12, Sheets.Count)
    With Sheets(x)
        tTab = .Range("C6").Resize(.UsedRange.Rows.Count, .UsedRange.Columns.Count).Value
        For y = 1 To UBound(tTab, 1)
            For Z = 4 To UBound(tTab, 2)
                If tTab(y, 1) <> "" And tTab(y, Z) <> "" Then _
                    If tTab(y, 1) = vRef And tTab(y, Z) = vMSN Then _
                        sMsg = sMsg & Chr(10) & " - " & Sheets(x).Name & " - REF : " & tTab(y, 1): _
                        iIdx = 1
            Next
        Next
    End With
Next
If iIdx = 1 Then MsgBox sMsg, vbInformation + vbOKOnly, "Info"

A+

7krakite.xlsm (79.00 Ko)

Je suis en train de l'adapter au fichier final et petite question, peut ton exclure les résultats de la colonne AJ ?

Cette colonne sers de visa pour le contrôleur et donc ça me la mets souvent en doublons du coup.

Merci

Ainsi, donc

sMsg = "Les n° Ref  " & vRef & " et Série  " & vMSN & " apparaissent en :" & Chr(10)
For x = 1 To WorksheetFunction.Min(12, Sheets.Count)
    With Sheets(x)
        tTab = .Range("C6:AJ" & .UsedRange.Rows.Count).Value
        For y = 1 To UBound(tTab, 1)
            For Z = 4 To UBound(tTab, 2)
                If tTab(y, 1) <> "" And tTab(y, Z) <> "" Then _
                    If tTab(y, 1) = vRef And tTab(y, Z) = vMSN Then _
                        sMsg = sMsg & Chr(10) & " - " & Sheets(x).Name & " - REF : " & tTab(y, 1): _
                        iIdx = iIdx + 1
            Next
        Next
    End With
Next
If iIdx > 1 Then MsgBox sMsg, vbInformation + vbOKOnly, "Info"

A+

Bonjour,

Merci à vous deux pour vos solutions, j'adore

curulis57, j'ai juste 2 petits soucis avec ta solution

si par exemple en numéro de serie on met 1 puis on etire pour atteindre 10 car ils se suivent, ça plante et même erreur si j'essaie de supprimer 2 cases en même temps

image image

Salut Krakite,
Salut BsAlv,

Coup classique lorsqu'on ne pense pas à une multi-sélection

7krakite-v2.xlsm (80.74 Ko)

A+

Rechercher des sujets similaires à "identifier doublons classeur"