Bonjour à toutes et à tous,
dans des feuilles de travail, je copie, je supprime, j'ajoute des données de nombreuses fois si bien que mon fichier enfle dangereusement car il semble garder en mémoire la position du dernier enregistrement, même si les données n'y sont plus. Pour y remédier, je fais de temps en temps une purge manuelle consistant à me mettre sur la première ligne vide puis CTRL maj flèche vers le bas et suppr.
J'aimerais automatiser cette tâche car je rencontre le problème avec beaucoup de fichiers et d'onglets ...
Mon code plante là où je sélectionne la première ligne vide : incompatibilité de type ...
Qui a une idée ?
voici mon code :
Sub Purger()
Dim last As Variant
Dim ligne_libre As Variant
last = Range("A" & Rows.Count).End(xlUp).Row
MsgBox "La dernière ligne est la " & last & "ième" ' juste pour se contrôler ...
ligne_libre = last + 1
Rows("ligne_libre:ligne_libre").Select ' je sélectionne la première ligne vide ligne entière (mise en couleur pour contrôle visuel)
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
End Sub
Merci d'avance pour vos lumières
dans des feuilles de travail, je copie, je supprime, j'ajoute des données de nombreuses fois si bien que mon fichier enfle dangereusement car il semble garder en mémoire la position du dernier enregistrement, même si les données n'y sont plus. Pour y remédier, je fais de temps en temps une purge manuelle consistant à me mettre sur la première ligne vide puis CTRL maj flèche vers le bas et suppr.
J'aimerais automatiser cette tâche car je rencontre le problème avec beaucoup de fichiers et d'onglets ...
Mon code plante là où je sélectionne la première ligne vide : incompatibilité de type ...
Qui a une idée ?
voici mon code :
Sub Purger()
Dim last As Variant
Dim ligne_libre As Variant
last = Range("A" & Rows.Count).End(xlUp).Row
MsgBox "La dernière ligne est la " & last & "ième" ' juste pour se contrôler ...
ligne_libre = last + 1
Rows("ligne_libre:ligne_libre").Select ' je sélectionne la première ligne vide ligne entière (mise en couleur pour contrôle visuel)
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
End Sub
Merci d'avance pour vos lumières