Mettre à jour ligne en fonction de la variation d'une cellule
Bonjour à tous,
Je cherche mais ne trouve pas! C'est tout moi sur VBA.
Plus précisément, j'importe de nombreux fichiers chaque semaine. Ces fichiers concernent des accidents du travail donc un peu confidentiel.
Toutefois, voici ma ligne de code actuelle (certainement pas très "belle") :
Sub AT()
Application.ScreenUpdating = False
' copier-coller la 1ère ligne
Sheets("Analyse").Select
Range("A1:AC1").Select
Selection.Copy
Sheets("AT").Select
Range("A1").Select
ActiveSheet.Paste
' Filtrer les AT de + de 45 jours
Sheets("Analyse").Select
Range("A1:AC1").Select
Selection.AutoFilter
Selection.EntireColumn.AutoFit
Sheets("Analyse").Range("$A$1:$AC$100000").AutoFilter Field:=15, Criteria1:="AT"
Sheets("Analyse").Range("$A$1:$AC$100000").AutoFilter Field:=18, Criteria1:=">45" _
, Operator:=xlAnd
Range("$R$1:$R$100000").Sort Key1:=Range("R1"), order1:=xlDescending
' copier-coller dans AT
Sheets("Analyse").Range("A2:AC100000").Copy Sheets("AT").Cells(Rows.Count, 1).End(xlUp)(2)
Selection.EntireColumn.AutoFit
' Mise en forme
Sheets("AT").Select
Range("A1:AC1").Select
Selection.AutoFilter
Worksheets("AT").Range("A:AC").Columns.AutoFit
Sheets("procédure").Select
Range("H26").Select
Application.ScreenUpdating = True
End SubEn gros, je concatène les lignes des fichiers.
Le problème est que le nombre de jours d'arrêt de ces accidents peut varier ou pas. Il peut diminuer, augmenter ou stagner.
J'aimerais donc qu'il compare avec deux raisonnements :
- si deux lignes sont identiques : il supprime les deux lignes.
- si deux lignes identiques sauf la cellule "Nombre de jours d'arrêts" car elle pourrait être différente : il supprime la plus ancienne pour conserver celle qui vient d'être concaténée. Celle qui est à conservée est de toute façon la plus récente, et donc celle qui située plus bas dans ma concaténation.
J'espère avoir été assez clair sur ma demande et remercie d'avance les courageux qui auraient compris et solutionné mon problème :)
fifou