Bonjour, je cherche trouver un moyen de détecter des doublons dans une table entre 2 champs: Champ1 |Champ2 A | 1 ---> A | 1A | 1 ---> A | 3A | 2 ---> A | 2B | 1 ---> B | 1 A l'heure actuelle j'arrive a detecter les doublons en fontion de mon premier champs, le problème vient de ma modification: je dois trouver la plus grande valeur de mon champs 2 en fonction de mon premier champ pour pouvoir la stocker dans une variable et l'incrémenter par la suite. Or j'ai essayer plusieurs fonction(DLOOKUP,DMAX) mais aucun résultat. voici ma procédure de recherche de doublons si ça peut aider: Set rst = CurrentDb.OpenRecordset( _ "SELECT * FROM [SOLODATA]", _ dbOpenDynaset, dbInconsistent) champsActuel = rst("TAG3") champsActuel2 = rst("TAG2") With rst Do While Not .NoMatch Do While Not .NoMatch 'comparaison des tuples avec le tuple selectionné .FindNext "[Tag3]= '" & champsActuel & "' and [Tag2]= '" & champsActuel2 & "'" 'Cherche le premiers doublon dans la table If .NoMatch = False Then 'Si il y a un resultat alors on entre dans la procedure de modification ''''''''''''''''''''''''''''''''''''''''''''''' ICI ma procedure de modification''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Je cherche la plus grandes valeur de TAG3 pour TAG2= champsActuel2'''''''''''''''''''''''''''' '.FindFirst "MAX([Tag3]) and [Tag2]= '" & champsActuel2 & "'" 'test = DMax("Tag3", "SOLODATA", [Tag2] = " & champsActuel2 & ") .Edit valeurModifie = test + 1 'Le doublon est remplacé par une valeur alternative .Update ' valeurModifie = valeurModifie + 1 'Modification de la valeur alternative pour eviter les doublons End If Loop .FindFirst "[Tag3]= '" & champsActuel & "' and [Tag2]= '" & champsActuel2 & "'" 'Retour à l'enregistrement de depart .FindNext "([Tag3]<> '" & champsActuel & "' and [Tag2]= '" & champsActuel2 & "') or ([Tag3]= '" & champsActuel & "' and [Tag2]<> '" & champsActuel2 & "')" 'Passage à l'enregistrement suivant .Edit champsActuel = ![Tag3] 'Affectation de l'enregistrement à controler à une variable champsActuel2 = |