Sub pinou95()
Dim WksA As Worksheet, WksB As Worksheet, DerLig As Long, TabloA, i As Long
Set WksA = Worksheets("Classeur test intellixir") ' Nom de la feuille ou se trouvent les données
Set WksB = Worksheets("Feuil1") ' Nom de la feuille ou les données seront copiées et traitées
DerLig = WksA.Range("A" & Rows.Count).End(xlUp).Row ' recherche du N° de la dernière ligne
TabloA = WksA.Range("A1:G" & DerLig) 'copie des données dans un tableau
Application.ScreenUpdating = False
WksB.Range("A1").Resize(UBound(TabloA, 1), 7) = TabloA 'copie du tableau dans la feuille de travail
With WksB
.Range("A1:G" & DerLig).Sort Key1:=Range("C2"), Order1:=xlAscending, Header:=xlGuess 'on trie les données dans l'ordre
'des N° de priorité
For i = DerLig To 2 Step -1 ' de la dernière à la 2ème ligne
If .Cells(i, 3) = .Cells(i - 1, 3) Then 'si N° de priorité est ègal celui de la ligne précédente
.Cells(i - 1, 4) = .Cells(i - 1, 4) & " ; " & .Cells(i, 4) 'copie le N° brevet dans la ligne du dessus
.Rows(i).Delete Shift:=xlUp 'suppression de la ligne courante
End If
Next
.Columns("A:G").AutoFit
End With
Application.ScreenUpdating = True
End Sub