Bonsoir,
Avec l’aide du Forum, j’ai pu mettre en place le bout de procédure ci-dessous dans le fichier annexé:
https://www.excel-pratique.com/~files/doc/20080625.zip
Sub Assurés_disparus_depuis_mois_précédent()
................................................
With Sheets("Mois précédent")
Derlig = .Range("A" & Rows.Count).End(xlUp).Row
For Each Cel In .Range("A11:A" & Derlig)
LigF = FindLig(Cel)
If LigF > 0 Then ' Cette personne est encore présente sur la liste du mois actuel
Else ' Cette personne n'apparaît plus sur la liste du mois actuel
ShtR.Range("A" & LigFin).Range("A1:F1").Value = Cel.Range("A1:F1").Value
ShtR.Range("G" & LigFin) = "0"
ShtR.Range("H" & LigFin) = "0"
ShtR.Range("I" & LigFin) = " 0.00 ?"
................................................
End Sub
Function FindLig(VSearch)
' Function utilisée par la Sub Assurés_disparus_depuis_mois_précédent()
Application.Calculation = xlCalculationManual
FindLig = 0
With Sheets("RepListeQuellensteuer")
On Error Resume Next
FindLig = .Range("A:A").Find(What:=VSearch, LookAt:=xlWhole, SearchOrder:=xlByRows).Row
On Error GoTo 0
End With
Application.Calculation = xlAutomatic
End Function
Ce code recherche sur la feuille « Mois précédent » quelles sont les personnes qui ne sont plus présentes sur la liste du mois actuel (feuille « RepListeQuellensteuer ») et les y reporte en fin de liste avec des 0.00 dans les colonnes G, H et I à la place des anciens chiffres.
Ca fonctionne a merveille, si ce n’est que j’ai oublié qu’il y a des exceptions : Les personnes qui figurent sur la liste du mois précédent et qui ne figurent plus sur la liste actuelle mais pour lesquelles une remarque est inscrites dans la colonne I ou J (texte ou date) ne doivent pas être reportées (dans l'exemple fourni, les personnes intitulées Nom 2, Nom 4 et Nom 6).
Sauriez-vous alors transformer ce code de manière à ce que ces exceptions soient ignorées ?
Meilleures salutations.