Re : Un calcul avec des tri et compare ... (fin)
Salut, Deude... j'ai enfin la soluce par un collegue de travail Excel Barbapapatruc
je te donne son bout de MACRO que j'ai inseré dans ta base...
Sub ChercherDoublons()
Dim L As Integer, i As Integer, j As Integer, Ws As Worksheet, a As Integer, k As Integer, m As Integer
Set Ws = Sheets("BRODARD")
Limit = 53000
a = 1
L = Ws.Range("A65536").End(xlUp).Row
'Trouver tout les doublons et les numeroter
For i = 2 To L
For j = i + 1 To L
If Ws.Range("I" & i) = Ws.Range("I" & j) And Ws.Range("C" & i) = "" And _
Ws.Range("E" & i) = Ws.Range("E" & j) And Ws.Range("E" & i) = 4 And _
Ws.Range("G" & i) = Ws.Range("G" & j) And (Ws.Range("G" & i) = 70 Or Ws.Range("G" & i) = 90) Then
Ws.Range("C" & i) = "Amal " & a
Ws.Range("C" & j) = "Amal " & a
' inscrire en face de chacun, le nombre le plus eleve de chaque amalgame
Ws.Range("J" & i).Formula = "=MAX(I" & i & ",I" & j & ")"
Ws.Range("J" & j).Formula = "=MAX(I" & i & ",I" & j & ")"
a = a + 1
End If
Next
Next
'Trouver les amalgames qui ne sont pas des doublons, mais avec une limite donnée
For i = 2 To L
For j = i + 1 To L
If Ws.Range("C" & i) = "" And Ws.Range("C" & j) = "" And _
Abs(Ws.Range("I" & i) - Ws.Range("I" & j)) < Limit And _
Ws.Range("E" & i) = Ws.Range("E" & j) And Ws.Range("E" & i) = 4 And _
Ws.Range("G" & i) = Ws.Range("G" & j) And (Ws.Range("G" & i) = 70 Or Ws.Range("G" & i) = 90) Then
Ws.Range("C" & i) = "Amal " & a
Ws.Range("C" & j) = "Amal " & a
' inscrire en face de chacun, le nombre le plus eleve de chaque amalgame
Ws.Range("J" & i).Formula = "=MAX(I" & i & ",I" & j & ")"
Ws.Range("J" & j).Formula = "=MAX(I" & i & ",I" & j & ")"
a = a + 1
End If
Next
Next
End Sub
Deude... comme ça fonctionne, je pense que ce sera le dernier Post pour cette discussion..
Encore Merci pour ton Savoir et à bientôt pour de nouvelles aventures sur d'autres fil de discut - Ciao Patrick (Merciiiiiiiiiiiiiiiiiiiiii, Deude) 🙂