Supprimer des lignes répétitives
Bonjour,
Je sollicite de l’aide. J’ai un fichier qui comprend de nombreuses erreurs. Le fichier fait plus de 5000 lignes !
Je commence par la 1ère erreur :
Le fichier comprend plusieurs lignes vides ou contenant des données qui ne m’intéressent pas. En étudiant le fichier, je constate que chaque fois qu’une ligne contient le mot « Remise », cette ligne et les trois suivantes sont à supprimer.
(On peut constater que parfois Remise est précédée par 4 espaces et parfois par un espace)
La page se présente ainsi :
A1 Mardi 20/06/2017
A2 Salle 1 (salle partagée)
A3 07:45 BROSSEAU
A4 Remise en condition salle
A5
A6
A7
A8 Remise en condition salle
A9
A10
A11
A12 Remise en condition salle
A13 Saisie le par
A14
A15
A16 Salle 2 (salle partagée)
A17 08:41 BIRONNEAU
A18 Remise en condition salle
A19
A20
A21
A22 Remise en condition salle
A23
A24
A25
A26 Remise en condition salle
A27 Saisie le par
A28
A29
A30 10:10
A31 Remise en condition salle
A32
A33
A34
A35 Remise en condition salle
A36
A37
A38
A39 Remise en condition salle
A40 Saisie le par
A41
A42
A43 Salle 3 (salle partagée)
En cherchant sur le site, j’ai pu trouver une macro qui élimine toutes les lignes contenant le mot « Remise » :
Sub Macro1()
Dim Cel As Range
Do
Set Cel = Cells.Find(What:="Remise", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=True, SearchFormat:=False)
If Cel Is Nothing Then
Exit Do
Else
Rows(Cel.Row).Delete
End If
Loop
End Sub
Cette Macro est parfaite pour supprimer les lignes contenant le mot désiré, ici Remise
Ma question est : comment la modifier pour qu’elle supprime également les 3 lignes qui suivent ?
Vous remerciant de votre aide
- Messages
- 308
- Excel
- 2016
- Inscrit
- 15/06/2017
- Emploi
- Bénéficiaire de la sécurité de la vieillesse
Bonjour HABD, bonjour le forum,
Porte attention pour mettre ton code sous balise (bouton Code).
Un suggestion à tester.
Sub Macro1()
Dim Cel As Range
Do
Set Cel = Cells.Find(What:="Remise", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=True, SearchFormat:=False)
If Cel Is Nothing Then
Exit Do
Else
Range("A" & Cel.Row & ":A" & Cel.Row + 3).EntireRow.Delete
End If
Loop
End SubJoseph
Bonsoir,
Excellent. Le code marche parfaitement. Je vais pouvoir continuer à trier mes lignes. Merci infiniment!
HABD