Bonjour,
j'ai un petit souci au niveau d'une macro que j'ai créer, elle s’exécute correctement mais elle ne répond pas a ce que je recherche vous trouverez ci-joint un petit exemple de ce que je recherche. Je souhaiterais comparer lorsque les numéro de dossier sont les mêmes, la gravité de l'accident suivant le tableau en feuille3 et ajouter un "S" si la gravité et moins importante qu'une autre lésion dans le même numéro de dossier et "OK" sinon pour pouvoir ensuite supprimer toutes les lignes où il y a un "S" pour ne garder qu'une ligne par numéro de dossier c'est a dire la lésion "la plus grave". Voici la macro que j'ai faite:
j'ai un petit souci au niveau d'une macro que j'ai créer, elle s’exécute correctement mais elle ne répond pas a ce que je recherche vous trouverez ci-joint un petit exemple de ce que je recherche. Je souhaiterais comparer lorsque les numéro de dossier sont les mêmes, la gravité de l'accident suivant le tableau en feuille3 et ajouter un "S" si la gravité et moins importante qu'une autre lésion dans le même numéro de dossier et "OK" sinon pour pouvoir ensuite supprimer toutes les lignes où il y a un "S" pour ne garder qu'une ligne par numéro de dossier c'est a dire la lésion "la plus grave". Voici la macro que j'ai faite:
Code:
Dim Texte1, Texte2 As String
Dim Ligne, Colonne1, Colonne2 As Integer
For Each X In Sheets("Feuil1").Range("B2:B" & Sheets("Feuil1").Range("B60000").End(xlUp).Row)
If X.Offset(Var, 2).Value = X.Offset(Var + 1, 2).Value Then
Texte1 = X.Offset(Var, 0).Value
Sheets("Feuil3").Select
Cells.Find(What:=Texte1, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
Colonne1 = ActiveCell.Column
Sheets("Feuil1").Select
Texte2 = X.Offset(Var + 1, 0).Value
Sheets("Feuil3").Select
Cells.Find(What:=Texte2, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
Colonne2 = ActiveCell.Column
If Colonne1 < Colonne2 Then
X.Offset(Var, 3).Value = "OK"
Else
X.Offset(Var, 3).Value = "S"
End If
End If
Next
End Sub