micie1509
XLDnaute Junior
Bonjour,
J’ai cette macro qui efface les lignes vides :
Sub efface_vide()
Dim l As Long
For l = Cells.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1
If Cells(l, "A").Value = "" Then Cells(l, 1).EntireRow.Delete
Next l
End Sub
Ensuite, je veux exécuter cette macro sur 30 feuilles qui elles, sont masquées. Le code que j’utilise pour exécuter la macro sur les feuilles choisies, fonctionnent très bien mais il prend environ une minute à s’exécuter. Est-ce que quelqu’un saurait ce que je pourrais faire afin d’accélérer l’exécution de cette macro ?
Merci d’avance au génie qui trouvera.
Voici le code que j’utilise :
Sub efface_vide2()
Sheets("Feuil00").Visible = True
Sheets("Feuil00").Select
Call efface_vide
Sheets("Feuil00").Visible = False
Sheets("Feuil1").Visible = True
Sheets("Feuil1").Select
Call efface_vide
Sheets("Feuil1").Visible = False
Sheets("Feuil2").Visible = True
Sheets("Feuil2").Select
Call efface_vide
Sheets("Feuil2").Visible = False
Sheets("Feuil3").Visible = True
Sheets("Feuil3").Select
Call efface_vide
Sheets("Feuil3").Visible = False
Sheets("Feuil4").Visible = True
Sheets("Feuil4").Select
Call efface_vide
Sheets("Feuil4").Visible = False
Sheets("Feuil5").Visible = True
Sheets("Feuil5").Select
Call efface_vide
Sheets("Feuil5").Visible = False
Sheets("Feuil6").Visible = True
Sheets("Feuil6").Select
Call efface_vide
Sheets("Feuil6").Visible = False
Sheets("Feuil7").Visible = True
Sheets("Feuil7").Select
Call efface_vide
Sheets("Feuil7").Visible = False
Sheets("Feuil8").Visible = True
Sheets("Feuil8").Select
Call efface_vide
Sheets("Feuil8").Visible = False
Sheets("Feuil9").Visible = True
Sheets("Feuil9").Select
Call efface_vide
Sheets("Feuil9").Visible = False
Sheets("Feuil10").Visible = True
Sheets("Feuil10").Select
Call efface_vide
Sheets("Feuil10").Visible = False
Sheets("Feuil11").Visible = True
Sheets("Feuil11").Select
Call efface_vide
Sheets("Feuil11").Visible = False
Sheets("Feuil12").Visible = True
Sheets("Feuil12").Select
Call efface_vide
Sheets("Feuil12").Visible = False
Sheets("Feuil13").Visible = True
Sheets("Feuil13").Select
Call efface_vide
Sheets("Feuil13").Visible = False
Sheets("Feuil14").Visible = True
Sheets("Feuil14").Select
Call efface_vide
Sheets("Feuil14").Visible = False
Sheets("Feuil15").Visible = True
Sheets("Feuil15").Select
Call efface_vide
Sheets("Feuil15").Visible = False
Sheets("Feuil16").Visible = True
Sheets("Feuil16").Select
Call efface_vide
Sheets("Feuil16").Visible = False
Sheets("Feuil17").Visible = True
Sheets("Feuil17").Select
Call efface_vide
Sheets("Feuil17").Visible = False
Sheets("Feuil18").Visible = True
Sheets("Feuil18").Select
Call efface_vide
Sheets("Feuil18").Visible = False
Sheets("Feuil19").Visible = True
Sheets("Feuil19").Select
Call efface_vide
Sheets("Feuil19").Visible = False
Sheets("Feuil20").Visible = True
Sheets("Feuil20").Select
Call efface_vide
Sheets("Feuil20").Visible = False
Sheets("Feuil21").Visible = True
Sheets("Feuil21").Select
Call efface_vide
Sheets("Feuil21").Visible = False
Sheets("Feuil22").Visible = True
Sheets("Feuil22").Select
Call efface_vide
Sheets("Feuil22").Visible = False
Sheets("Feuil23").Visible = True
Sheets("Feuil23").Select
Call efface_vide
Sheets("Feuil23").Visible = False
Sheets("Feuil24").Visible = True
Sheets("Feuil24").Select
Call efface_vide
Sheets("Feuil24").Visible = False
Sheets("Feuil25").Visible = True
Sheets("Feuil25").Select
Call efface_vide
Sheets("Feuil25").Visible = False
Sheets("Feuil26").Visible = True
Sheets("Feuil26").Select
Call efface_vide
Sheets("Feuil26").Visible = False
Sheets("Feuil27").Visible = True
Sheets("Feuil27").Select
Call efface_vide
Sheets("Feuil27").Visible = False
Sheets("Feuil28").Visible = True
Sheets("Feuil28").Select
Call efface_vide
Sheets("Feuil28").Visible = False
Sheets("Feuil29").Visible = True
Sheets("Feuil29").Select
Call efface_vide
Sheets("Feuil29").Visible = False
Sheets("Feuil30").Visible = True
Sheets("Feuil30").Select
Call efface_vide
Sheets("Feuil30").Visible = False
Sheets("Commandes").Select
End Sub
J’ai cette macro qui efface les lignes vides :
Sub efface_vide()
Dim l As Long
For l = Cells.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1
If Cells(l, "A").Value = "" Then Cells(l, 1).EntireRow.Delete
Next l
End Sub
Ensuite, je veux exécuter cette macro sur 30 feuilles qui elles, sont masquées. Le code que j’utilise pour exécuter la macro sur les feuilles choisies, fonctionnent très bien mais il prend environ une minute à s’exécuter. Est-ce que quelqu’un saurait ce que je pourrais faire afin d’accélérer l’exécution de cette macro ?
Merci d’avance au génie qui trouvera.
Voici le code que j’utilise :
Sub efface_vide2()
Sheets("Feuil00").Visible = True
Sheets("Feuil00").Select
Call efface_vide
Sheets("Feuil00").Visible = False
Sheets("Feuil1").Visible = True
Sheets("Feuil1").Select
Call efface_vide
Sheets("Feuil1").Visible = False
Sheets("Feuil2").Visible = True
Sheets("Feuil2").Select
Call efface_vide
Sheets("Feuil2").Visible = False
Sheets("Feuil3").Visible = True
Sheets("Feuil3").Select
Call efface_vide
Sheets("Feuil3").Visible = False
Sheets("Feuil4").Visible = True
Sheets("Feuil4").Select
Call efface_vide
Sheets("Feuil4").Visible = False
Sheets("Feuil5").Visible = True
Sheets("Feuil5").Select
Call efface_vide
Sheets("Feuil5").Visible = False
Sheets("Feuil6").Visible = True
Sheets("Feuil6").Select
Call efface_vide
Sheets("Feuil6").Visible = False
Sheets("Feuil7").Visible = True
Sheets("Feuil7").Select
Call efface_vide
Sheets("Feuil7").Visible = False
Sheets("Feuil8").Visible = True
Sheets("Feuil8").Select
Call efface_vide
Sheets("Feuil8").Visible = False
Sheets("Feuil9").Visible = True
Sheets("Feuil9").Select
Call efface_vide
Sheets("Feuil9").Visible = False
Sheets("Feuil10").Visible = True
Sheets("Feuil10").Select
Call efface_vide
Sheets("Feuil10").Visible = False
Sheets("Feuil11").Visible = True
Sheets("Feuil11").Select
Call efface_vide
Sheets("Feuil11").Visible = False
Sheets("Feuil12").Visible = True
Sheets("Feuil12").Select
Call efface_vide
Sheets("Feuil12").Visible = False
Sheets("Feuil13").Visible = True
Sheets("Feuil13").Select
Call efface_vide
Sheets("Feuil13").Visible = False
Sheets("Feuil14").Visible = True
Sheets("Feuil14").Select
Call efface_vide
Sheets("Feuil14").Visible = False
Sheets("Feuil15").Visible = True
Sheets("Feuil15").Select
Call efface_vide
Sheets("Feuil15").Visible = False
Sheets("Feuil16").Visible = True
Sheets("Feuil16").Select
Call efface_vide
Sheets("Feuil16").Visible = False
Sheets("Feuil17").Visible = True
Sheets("Feuil17").Select
Call efface_vide
Sheets("Feuil17").Visible = False
Sheets("Feuil18").Visible = True
Sheets("Feuil18").Select
Call efface_vide
Sheets("Feuil18").Visible = False
Sheets("Feuil19").Visible = True
Sheets("Feuil19").Select
Call efface_vide
Sheets("Feuil19").Visible = False
Sheets("Feuil20").Visible = True
Sheets("Feuil20").Select
Call efface_vide
Sheets("Feuil20").Visible = False
Sheets("Feuil21").Visible = True
Sheets("Feuil21").Select
Call efface_vide
Sheets("Feuil21").Visible = False
Sheets("Feuil22").Visible = True
Sheets("Feuil22").Select
Call efface_vide
Sheets("Feuil22").Visible = False
Sheets("Feuil23").Visible = True
Sheets("Feuil23").Select
Call efface_vide
Sheets("Feuil23").Visible = False
Sheets("Feuil24").Visible = True
Sheets("Feuil24").Select
Call efface_vide
Sheets("Feuil24").Visible = False
Sheets("Feuil25").Visible = True
Sheets("Feuil25").Select
Call efface_vide
Sheets("Feuil25").Visible = False
Sheets("Feuil26").Visible = True
Sheets("Feuil26").Select
Call efface_vide
Sheets("Feuil26").Visible = False
Sheets("Feuil27").Visible = True
Sheets("Feuil27").Select
Call efface_vide
Sheets("Feuil27").Visible = False
Sheets("Feuil28").Visible = True
Sheets("Feuil28").Select
Call efface_vide
Sheets("Feuil28").Visible = False
Sheets("Feuil29").Visible = True
Sheets("Feuil29").Select
Call efface_vide
Sheets("Feuil29").Visible = False
Sheets("Feuil30").Visible = True
Sheets("Feuil30").Select
Call efface_vide
Sheets("Feuil30").Visible = False
Sheets("Commandes").Select
End Sub