Voilà j'ai 15000 lignes dans un onglet excel.
Après tri, il ne me reste un nombre indéterminé à l'avance (disons 4200
lignes pour l'exemple).
Je souhaiterai qu'excel me supprime les lignes vides de 4201 à 15000.
J'ai déjà essayé cette macro mais cela prends vraiment trop de temps étant
donné que j'ai de nombreux onglets (nb:je n'ai pas besoin de tester si les
lignes après 4201 sont vides puisque je suis sûr qu'elles le sont dejà)!
---
Sub supp_lignes()
'
' supp_lignes Macro
'
'détermine le numéro de la dernière ligne utilisée
dernLigne = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Count - 1
'désactive la mise à jour de l'écran afin d'accélérer les traitements
Application.ScreenUpdating = False
'Pour toutes les lignes en partant de la dernière
For I = dernLigne To 1 Step -1
'La fonction Excel CountA correspond à =NBVAL
If Application.WorksheetFunction.CountA(Rows(I)) = 0 Then
Rows(I).Delete Shift:=xlUp
End If
Next I
End Sub
---
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Hervé
Salut Hubert, Et avec ceci ?
Sub SuppressionLignes() [4201:15000].Delete End Sub
Hervé
"Hubert" <hubertnospam> a écrit dans le message de news: 44ba24c1$0$17432$
Bonjour à tous,
Voilà j'ai 15000 lignes dans un onglet excel. Après tri, il ne me reste un nombre indéterminé à l'avance (disons 4200 lignes pour l'exemple). Je souhaiterai qu'excel me supprime les lignes vides de 4201 à 15000.
J'ai déjà essayé cette macro mais cela prends vraiment trop de temps étant donné que j'ai de nombreux onglets (nb:je n'ai pas besoin de tester si les lignes après 4201 sont vides puisque je suis sûr qu'elles le sont dejà)!
--- Sub supp_lignes() ' ' supp_lignes Macro '
'détermine le numéro de la dernière ligne utilisée dernLigne = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Count - 1
'désactive la mise à jour de l'écran afin d'accélérer les traitements Application.ScreenUpdating = False
'Pour toutes les lignes en partant de la dernière For I = dernLigne To 1 Step -1
'La fonction Excel CountA correspond à =NBVAL If Application.WorksheetFunction.CountA(Rows(I)) = 0 Then Rows(I).Delete Shift:=xlUp End If Next I End Sub ---
Merci d'avance, Hubert
Salut Hubert,
Et avec ceci ?
Sub SuppressionLignes()
[4201:15000].Delete
End Sub
Hervé
"Hubert" <hubertnospam> a écrit dans le message de news:
44ba24c1$0$17432$636a55ce@news.free.fr...
Bonjour à tous,
Voilà j'ai 15000 lignes dans un onglet excel.
Après tri, il ne me reste un nombre indéterminé à l'avance (disons 4200
lignes pour l'exemple).
Je souhaiterai qu'excel me supprime les lignes vides de 4201 à 15000.
J'ai déjà essayé cette macro mais cela prends vraiment trop de temps étant
donné que j'ai de nombreux onglets (nb:je n'ai pas besoin de tester si les
lignes après 4201 sont vides puisque je suis sûr qu'elles le sont dejà)!
---
Sub supp_lignes()
'
' supp_lignes Macro
'
'détermine le numéro de la dernière ligne utilisée
dernLigne = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Count - 1
'désactive la mise à jour de l'écran afin d'accélérer les traitements
Application.ScreenUpdating = False
'Pour toutes les lignes en partant de la dernière
For I = dernLigne To 1 Step -1
'La fonction Excel CountA correspond à =NBVAL
If Application.WorksheetFunction.CountA(Rows(I)) = 0 Then
Rows(I).Delete Shift:=xlUp
End If
Next I
End Sub
---
Sub SuppressionLignes() [4201:15000].Delete End Sub
Hervé
"Hubert" <hubertnospam> a écrit dans le message de news: 44ba24c1$0$17432$
Bonjour à tous,
Voilà j'ai 15000 lignes dans un onglet excel. Après tri, il ne me reste un nombre indéterminé à l'avance (disons 4200 lignes pour l'exemple). Je souhaiterai qu'excel me supprime les lignes vides de 4201 à 15000.
J'ai déjà essayé cette macro mais cela prends vraiment trop de temps étant donné que j'ai de nombreux onglets (nb:je n'ai pas besoin de tester si les lignes après 4201 sont vides puisque je suis sûr qu'elles le sont dejà)!
--- Sub supp_lignes() ' ' supp_lignes Macro '
'détermine le numéro de la dernière ligne utilisée dernLigne = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Count - 1
'désactive la mise à jour de l'écran afin d'accélérer les traitements Application.ScreenUpdating = False
'Pour toutes les lignes en partant de la dernière For I = dernLigne To 1 Step -1
'La fonction Excel CountA correspond à =NBVAL If Application.WorksheetFunction.CountA(Rows(I)) = 0 Then Rows(I).Delete Shift:=xlUp End If Next I End Sub ---
Merci d'avance, Hubert
JB
Si le test se fait sur les cellules vides de la colonne A:
Voilà j'ai 15000 lignes dans un onglet excel. Après tri, il ne me reste un nombre indéterminé à l'avance (dison s 4200 lignes pour l'exemple). Je souhaiterai qu'excel me supprime les lignes vides de 4201 à 15000.
J'ai déjà essayé cette macro mais cela prends vraiment trop de temp s étant donné que j'ai de nombreux onglets (nb:je n'ai pas besoin de tester si les lignes après 4201 sont vides puisque je suis sûr qu'elles le sont dej à)!
--- Sub supp_lignes() ' ' supp_lignes Macro '
'détermine le numéro de la dernière ligne utilisée dernLigne = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Count - 1
'désactive la mise à jour de l'écran afin d'accélérer les trait ements Application.ScreenUpdating = False
'Pour toutes les lignes en partant de la dernière For I = dernLigne To 1 Step -1
'La fonction Excel CountA correspond à =NBVAL If Application.WorksheetFunction.CountA(Rows(I)) = 0 Then Rows(I).Delete Shift:=xlUp End If Next I End Sub ---
Merci d'avance, Hubert
Si le test se fait sur les cellules vides de la colonne A:
Voilà j'ai 15000 lignes dans un onglet excel.
Après tri, il ne me reste un nombre indéterminé à l'avance (dison s 4200
lignes pour l'exemple).
Je souhaiterai qu'excel me supprime les lignes vides de 4201 à 15000.
J'ai déjà essayé cette macro mais cela prends vraiment trop de temp s étant
donné que j'ai de nombreux onglets (nb:je n'ai pas besoin de tester si les
lignes après 4201 sont vides puisque je suis sûr qu'elles le sont dej à)!
---
Sub supp_lignes()
'
' supp_lignes Macro
'
'détermine le numéro de la dernière ligne utilisée
dernLigne = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Count - 1
'désactive la mise à jour de l'écran afin d'accélérer les trait ements
Application.ScreenUpdating = False
'Pour toutes les lignes en partant de la dernière
For I = dernLigne To 1 Step -1
'La fonction Excel CountA correspond à =NBVAL
If Application.WorksheetFunction.CountA(Rows(I)) = 0 Then
Rows(I).Delete Shift:=xlUp
End If
Next I
End Sub
---
Voilà j'ai 15000 lignes dans un onglet excel. Après tri, il ne me reste un nombre indéterminé à l'avance (dison s 4200 lignes pour l'exemple). Je souhaiterai qu'excel me supprime les lignes vides de 4201 à 15000.
J'ai déjà essayé cette macro mais cela prends vraiment trop de temp s étant donné que j'ai de nombreux onglets (nb:je n'ai pas besoin de tester si les lignes après 4201 sont vides puisque je suis sûr qu'elles le sont dej à)!
--- Sub supp_lignes() ' ' supp_lignes Macro '
'détermine le numéro de la dernière ligne utilisée dernLigne = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Count - 1
'désactive la mise à jour de l'écran afin d'accélérer les trait ements Application.ScreenUpdating = False
'Pour toutes les lignes en partant de la dernière For I = dernLigne To 1 Step -1
'La fonction Excel CountA correspond à =NBVAL If Application.WorksheetFunction.CountA(Rows(I)) = 0 Then Rows(I).Delete Shift:=xlUp End If Next I End Sub ---
Merci d'avance, Hubert
Hubert
Merci beaucoup JB. Cela marche à merveille. ;-))
Hubert
Si le test se fait sur les cellules vides de la colonne A: Range("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete JB
Bonjour à tous,
Voilà j'ai 15000 lignes dans un onglet excel. Après tri, il ne me reste un nombre indéterminé à l'avance (disons 4200 lignes pour l'exemple). Je souhaiterai qu'excel me supprime les lignes vides de 4201 à 15000.
J'ai déjà essayé cette macro mais cela prends vraiment trop de temps étant donné que j'ai de nombreux onglets (nb:je n'ai pas besoin de tester si les lignes après 4201 sont vides puisque je suis sûr qu'elles le sont dejà)!
--- Sub supp_lignes() ' ' supp_lignes Macro '
'détermine le numéro de la dernière ligne utilisée dernLigne = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Count - 1
'désactive la mise à jour de l'écran afin d'accélérer les traitements Application.ScreenUpdating = False
'Pour toutes les lignes en partant de la dernière For I = dernLigne To 1 Step -1
'La fonction Excel CountA correspond à =NBVAL If Application.WorksheetFunction.CountA(Rows(I)) = 0 Then Rows(I).Delete Shift:=xlUp End If Next I End Sub ---
Merci d'avance, Hubert
Merci beaucoup JB. Cela marche à merveille. ;-))
Hubert
Si le test se fait sur les cellules vides de la colonne A:
Range("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
JB
Bonjour à tous,
Voilà j'ai 15000 lignes dans un onglet excel.
Après tri, il ne me reste un nombre indéterminé à l'avance (disons 4200
lignes pour l'exemple).
Je souhaiterai qu'excel me supprime les lignes vides de 4201 à 15000.
J'ai déjà essayé cette macro mais cela prends vraiment trop de temps étant
donné que j'ai de nombreux onglets (nb:je n'ai pas besoin de tester si les
lignes après 4201 sont vides puisque je suis sûr qu'elles le sont dejà)!
---
Sub supp_lignes()
'
' supp_lignes Macro
'
'détermine le numéro de la dernière ligne utilisée
dernLigne = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Count - 1
'désactive la mise à jour de l'écran afin d'accélérer les traitements
Application.ScreenUpdating = False
'Pour toutes les lignes en partant de la dernière
For I = dernLigne To 1 Step -1
'La fonction Excel CountA correspond à =NBVAL
If Application.WorksheetFunction.CountA(Rows(I)) = 0 Then
Rows(I).Delete Shift:=xlUp
End If
Next I
End Sub
---
Si le test se fait sur les cellules vides de la colonne A: Range("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete JB
Bonjour à tous,
Voilà j'ai 15000 lignes dans un onglet excel. Après tri, il ne me reste un nombre indéterminé à l'avance (disons 4200 lignes pour l'exemple). Je souhaiterai qu'excel me supprime les lignes vides de 4201 à 15000.
J'ai déjà essayé cette macro mais cela prends vraiment trop de temps étant donné que j'ai de nombreux onglets (nb:je n'ai pas besoin de tester si les lignes après 4201 sont vides puisque je suis sûr qu'elles le sont dejà)!
--- Sub supp_lignes() ' ' supp_lignes Macro '
'détermine le numéro de la dernière ligne utilisée dernLigne = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Count - 1
'désactive la mise à jour de l'écran afin d'accélérer les traitements Application.ScreenUpdating = False
'Pour toutes les lignes en partant de la dernière For I = dernLigne To 1 Step -1
'La fonction Excel CountA correspond à =NBVAL If Application.WorksheetFunction.CountA(Rows(I)) = 0 Then Rows(I).Delete Shift:=xlUp End If Next I End Sub ---