Bonjour
Une proposition :
Plutôt que d'utiliser un For Each, très pratique mais très lent utilises plutôt une boucle FOR/NEXT classique avec un booléen dans une colonne masquée et tu masque toutes les lignes en fonction de la valeur de ce booléen
J'ai souvent rencontré des plantages ou des lenteurs à cause de For Each jamais avec la solution FOR/NEXT de toute façon plus rapide en exécution !
Bonjour Gli73
Trop compliqué pour moi
Si tu peux faire ça dans mon fichier en partant de ma macro d'origine je serais ravi car moi un peux trop compliqué
Ça fait C$$$R ce truc
Merci à toi
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Application.ScreenUpdating = False
Dim Cel As Range
With ActiveSheet
.Columns("G:I").Hidden = True
For Each Cel In .Range("E11:E15,E17:E30,E39:E43,E45:E58,E67:E71,E73:E86,E95:E99,E101:E114")
If Cel = "" Then Cel.EntireRow.Hidden = True
Next Cel
Application.Goto .Range("A10"), True
ActiveSheet.Range("A1").Select
End With
Application.ScreenUpdating = True
End Sub