Bonjour a tous,
Desole pour les accents je travaille sur qwerty.
Je commence a maitriser de plus en plus les macros grace a ce formidable forum, mais mon niveau ne me permet pas toujours d'obtenir des resultats vrament efficaces.
Je vous explique mon probleme:
J'ai un tableau qui s'etend de la colonne A a la colonne N. Dans celui-ci, toutes les cellules de chaque ligne ne sont pas toutes remplies.
Je souhaite donc effectuer un test qui va verifier ligne par ligne si une cellule est vide, et si cela se touve etre le cas, couper cette ligne et la coller sur une nouvelle page, pour me permettre d'obtenir un tableau propre sans ligne vide et une feuille regroupant toutes les lignes dont certaines informations sont manquantes.
Pour tester cela j'ai donc fait ce code :
Le code reste a terminer pour le Couper/Coller sur une nouvelle feuille.
Cela fonctionne mais comme je possede plus de 10000 lignes, cela prend enormement de temps.
Pourriez-vous m'expliquer comment raccourcir le temps d'execution?
En vous remerciant par avance.
Cordialement,
Delux
Desole pour les accents je travaille sur qwerty.
Je commence a maitriser de plus en plus les macros grace a ce formidable forum, mais mon niveau ne me permet pas toujours d'obtenir des resultats vrament efficaces.
Je vous explique mon probleme:
J'ai un tableau qui s'etend de la colonne A a la colonne N. Dans celui-ci, toutes les cellules de chaque ligne ne sont pas toutes remplies.
Je souhaite donc effectuer un test qui va verifier ligne par ligne si une cellule est vide, et si cela se touve etre le cas, couper cette ligne et la coller sur une nouvelle page, pour me permettre d'obtenir un tableau propre sans ligne vide et une feuille regroupant toutes les lignes dont certaines informations sont manquantes.
Pour tester cela j'ai donc fait ce code :
Code:
Sub Export_blanks()
Dim Cel As Range
Dim mySource As Range
Dim Lg As Integer
Application.ScreenUpdating = False
Set mySource = Sheet1.Range("A5:N" & [A65536].End(xlUp).Row)
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = "TER blanks info"
Sheets("TER").Select
Lg = 5 'Activation of the 5th line
For Each Cel In mySource
If Cel.Value = "" Then
Sheet1.Range("X" & Lg).Formula = "=COUNTIF(A" & Cel.Row & ":N" & Cel.Row & ", """")"
Lg = Lg + 1
End If
Next
End Sub
Le code reste a terminer pour le Couper/Coller sur une nouvelle feuille.
Cela fonctionne mais comme je possede plus de 10000 lignes, cela prend enormement de temps.
Pourriez-vous m'expliquer comment raccourcir le temps d'execution?
En vous remerciant par avance.
Cordialement,
Delux