Fredox
XLDnaute Occasionnel
Bonjour, j'ai un problème avec cette macro afin de supprimer les ligne ou le contenu n'est pas présent dans ma base.
Mon problème est que lors de l'exécution de la macro toutes les lignes ne sont pas supprimées.
En la ré-exécutant 5 fois cela fini par être bon, mais plus mon fichier va grossir, plus ca va être problématique
J'ai même essayer de mettre 1 seconde de pause avant chaque Next, cela n'a rien changé.
Auriez vous une idée ?
Sub Supp()
Dim Feuille As Worksheet
Set Feuille = Worksheets("Rapports")
Feuille.columns("A:N").AutoFit
Dim DL As Long
Dim i As Long
DL= Feuille.Range("B" & Rows.Count).End(xlUp).Offset(1).Row
If DL < 2 Then DL = 2
Range("o1") = DL
End Sub
Mon problème est que lors de l'exécution de la macro toutes les lignes ne sont pas supprimées.
En la ré-exécutant 5 fois cela fini par être bon, mais plus mon fichier va grossir, plus ca va être problématique
J'ai même essayer de mettre 1 seconde de pause avant chaque Next, cela n'a rien changé.
Auriez vous une idée ?
Sub Supp()
Dim Feuille As Worksheet
Set Feuille = Worksheets("Rapports")
Feuille.columns("A:N").AutoFit
Dim DL As Long
Dim i As Long
DL= Feuille.Range("B" & Rows.Count).End(xlUp).Offset(1).Row
If DL < 2 Then DL = 2
Range("o1") = DL
VB:
For i = 2 To DL_visites
Range("O" & i) = i [COLOR=rgb(97, 189, 109)]' ici juste pour vérifié que toutes les lignes sont bien traitées, c'est le cas[/COLOR]
Range("M" & i).NumberFormat = "@" ' [COLOR=rgb(97, 189, 109)]Je pensais à un probleme de format texte[/COLOR]
If Application.CountIf([index_Base], Worksheets("Rapports").Range("B" & i)) = 0 Then Rows(i).Delete Shift:=xlUp
'DoEvents ' [COLOR=rgb(97, 189, 109)]j'ai essayé[/COLOR]
Next
End Sub