Effacement ligne selon condition , macro.

  • Initiateur de la discussion Initiateur de la discussion Bobstriker
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

Bobstriker

Guest
Bonjour aux Forumeurs Excel ,

J'ai un fichier de 30000 lignes reprenant des paiements mensuels réalisés vers des assurés , et je voudrai déterminer combien d'assurés différents j'ai en cours , en supprimant les lignes dont la date de paiement est antérieure à la dernière réalisée (valeur "H1"= 01/09/2009).
La macro ci dessous exécute bien les actions , mais pas sur toute une plage nommée , et je dois la frelancer plusieurs fois pour nettoyer complètement la zone sélectionnée.
Qu'ai je oublié ou mal écrit dans ma macro ?

Merci

Dim datcell As Date
datcell = Range("h1").Value
For Each cell In Range("a5:A1500") ' ne fait l'action que jusque A125 par exemple
If cell.Value < datcell Then
cell.EntireRow.Delete
End If
Next
 
Re : Effacement ligne selon condition , macro.

Bonjour bob

essaye peut être ainsi, lorsque tu delete il faut partir de la fin et remonter, afin de pouvoir supprimer les lignes consécutives qui répondent au test :

Code:
Dim i As Long
Application.ScreenUpdating = False
For i = Range("A65536").End(xlUp).Row To 5 Step -1
    If Cells(i, 1).Value < Range("h1").Value Then Rows(i).Delete
Next
Application.ScreenUpdating = True

bonne journée
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour