#1
#1
hello à tous,
voila mon problème j'ai une base de 200 milles lignes et 18 colonnes et en fonction d'une info colonne x je voudrais supprimer la ligne et ainsi de suite en testant toutes les lignes.
mon problème est que la macro tourne pendant un temps phénoménal avant d'arrivé au bout.
j'ai fais des test mais mêm avec un tableau c'est toujours super long.
Si je lance le parcoure de mon tableau il me fait le parcoure de toutes les cellules de la feuilles en 35 S mais la suppression ouch 1226 S .
j'ai peut être une erreur dans mon code ?
donc je viens quérir de l'aide
merci de votre aide.
désolé j'ai pas trouve les balises de code ?!
voila mon problème j'ai une base de 200 milles lignes et 18 colonnes et en fonction d'une info colonne x je voudrais supprimer la ligne et ainsi de suite en testant toutes les lignes.
mon problème est que la macro tourne pendant un temps phénoménal avant d'arrivé au bout.
j'ai fais des test mais mêm avec un tableau c'est toujours super long.
Si je lance le parcoure de mon tableau il me fait le parcoure de toutes les cellules de la feuilles en 35 S mais la suppression ouch 1226 S .
j'ai peut être une erreur dans mon code ?
donc je viens quérir de l'aide
Code:
Dim tboMonArray() As Variant
Dim I As Long, J As Long
Dim pass1 As Single, pass2 As Single
Dim lastrow As Long
Dim lastcolum As Long
lastrow = Cells(Rows.Count, 1).End(xlUp).Row
lastcolum = Cells(1, Columns.Count).End(xlToLeft).Column
ReDim tboMonArray(2 To lastrow, 1 To lastcolum)
pass1 = Timer
For I = lastrow To 2 Step -1
For J = 1 To lastcolum
tboMonArray(I, J) = Cells(I, J)
If Cells(I, 15) = "FRANCE" Or Cells(I, 15) = "SUISSE" Or Cells(I, 15) = "SWITZERLAND" Then
Rows(I).EntireRow.Delete
End If
Next J
Next I
Application.ScreenUpdating = True
pass2 = Timer
MsgBox pass2 - pass1 & " secondes pour" & Format(ActiveCell.CurrentRegion.Cells.Count, "#,##0") & " cellules"
Stop
désolé j'ai pas trouve les balises de code ?!
Dernière édition: