Bar de progression a l'ouverture classeur

Bonjour chers tous

J'ai un classeur qui contient plusieurs feuilles que je protège à l'ouverture grâce à une macro inserrée dans thisworkbook

L'ouverture met du temps (30 s) à ce faire.

Je voudrais faire afficher une barre de progression lors de l'exécution de la Macro

la voici:

Application.ScreenUpdating = False

Dim sh As Worksheet

For Each sh In Worksheets

sh.Visible = xlSheetVisible

Next sh

Sheets("Menu").Select

For Each sh In ActiveWorkbook.Sheets

sh.Unprotect Password:="KTM"

sh.EnableAutoFilter = True

sh.EnableOutlining = True

sh.Cells.Locked = False

On Error Resume Next

sh.Cells.SpecialCells(xlCellTypeFormulas, 23).Locked = True

sh.Cells.SpecialCells(xlCellTypeConstants, 2).Locked = False

On Error GoTo 0

sh.Protect Password:="KTM", DrawingObjects:=True, Contents:=True, Scenarios:= _

True, AllowFormattingCells:=True, AllowFormattingColumns:=True, _

AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows _

:=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _

AllowDeletingRows:=True, AllowSorting:=True, AllowFiltering:=True, _

AllowUsingPivotTables:=True, UserInterfaceOnly:=True

Next sh

ActiveSheet.Select

Sheets("Menu").Visible = True

Sheets("Menu").Select

For Each sh In Worksheets

If sh.Name <> ActiveSheet.Name Then sh.Visible = xlSheetHidden

Next sh

Application.ScreenUpdating = True

Bonjour,

es-tu sûr que c'est dû à ta macro et non à la taille du classeur ?

Teste en inhibant ta macro.

Et dans tes feuilles il n'y a que les lignes utiles ? Pas avec 10000 lignes d'avance comme on voit parfois...

eric

Bonjour,

Il y a de plus des possibilités d'optimisation de ta procédure.

Sans compter que tu autorises presque tout avec ta protection !...

Pas testé, cela va de soi.

Cdlt.

Private Sub Workbook_Open()
Dim sh As Worksheet

    Application.ScreenUpdating = False

    For Each sh In ThisWorkbook.Worksheets
        With sh
            .Visible = xlSheetVisible
            .Unprotect Password:="KTM"
            .EnableAutoFilter = True
            .EnableOutlining = True
            .Cells.Locked = False
            On Error Resume Next
            .Cells.SpecialCells(xlCellTypeFormulas, 23).Locked = True
            On Error GoTo 0
            .Protect Password:="KTM", _
                     AllowFormattingCells:=True, _
                     AllowFormattingColumns:=True, _
                     AllowFormattingRows:=True, _
                     AllowInsertingColumns:=True, _
                     AllowInsertingRows:=True, _
                     AllowInsertingHyperlinks:=True, _
                     AllowDeletingColumns:=True, _
                     AllowDeletingRows:=True, _
                     AllowSorting:=True, _
                     AllowFiltering:=True, _
                     AllowUsingPivotTables:=True, _
                     UserInterfaceOnly:=True
            If .Name <> "Menu" Then
                .Visible = xlSheetHidden
            End If
        End With
    Next sh

End Sub

Merci pour le toilettage de ma macro . Elle est plus aérée et légère

Mais comment pourrais je afficher quand même une bar de progression lors de l'exécution de celle ci ?

Re,

Tu ne réponds pas aux questions posée par Eriiic !?

Quel est le temps d'ouverture après "optimisation" ?

Quel est le nombre de feuilles du classeur ?

Cdlt.

Mon classeur a 60 feuilles

La macro met 30.54s

Et sans la macro ?

Il y a avait plusieurs questions.

Avant de penser à mettre un truc pour patienter se demander pourquoi 30s, et si ça ne peut pas passer à 3s...

Re,

Une autre proposition.

Dans l'idée tu es certainement plus pressé à l'ouverture, qu'à la fermeture du classeur !...

Cdlt.

Salut Jean Eric

J'ai suivi les conseils donnés et je pense que ça va mieux

Mon autre souci est que après protection il n'est plus possible d'opérer les filtres sur les feuilles

y aurait-il une Astuce pour pouvoir le faire après protection des feuilles? Merci pour votre précieuse aide

Bonjour,

Bien, je vois que mes questions ne t'intéressent pas et que tes 30s ne t'inquiètent pas plus que ça.

Bonne continuation.

eric

Jai suivi vos instructions et je pense que ça va mieux

-J'ai supprimé la macro à l'ouverture du classeur pour pouvoir l'ouvrir rapidement et je l'ai placée sur la feuille "Menu"

Mon autre souci est que après protection il n'est plus possible d'opérer les filtres sur les feuilles

y aurait-il une Astuce pour pouvoir le faire après protection des feuilles? Merci pour votre précieuse aide

Bonjour KTM,

screen

dhany

OUI, Dans ma macro qui protege les feuilles du classeur j'ai inserré le code suivant :

AllowFiltering:=True

La protection fonctionne mais les filtres impossibles

Bonjour,

Si Excel mémorise la protection avec ses paramètres, il n'est pas évident que ce soit le cas pour la propriété EnableAutoFiter (worksheet)

Regarde de ce côté.

Cdlt.

Je vous ramène la macro pour plus de precisions peut etre que quelque chose manque !

Private Sub Workbook_Open()

Dim sh As Worksheet

Application.ScreenUpdating = False

For Each sh In ThisWorkbook.Worksheets

With sh

.Visible = xlSheetVisible

.Unprotect Password:="KTM"

.EnableAutoFilter = True

.EnableOutlining = True

.Cells.Locked = False

On Error Resume Next

.Cells.SpecialCells(xlCellTypeFormulas, 23).Locked = True

On Error GoTo 0

.Protect Password:="KTM", _

AllowFormattingCells:=True, _

AllowFormattingColumns:=True, _

AllowFormattingRows:=True, _

AllowInsertingColumns:=True, _

AllowInsertingRows:=True, _

AllowInsertingHyperlinks:=True, _

AllowDeletingColumns:=True, _

AllowDeletingRows:=True, _

AllowSorting:=True, _

AllowFiltering:=True, _

AllowUsingPivotTables:=True, _

UserInterfaceOnly:=True

If .Name <> "Menu" Then

.Visible = xlSheetHidden

End If

End With

Next sh

End Sub

Bonsoir KTM, Jean-Eric,

je crois que tu n'as peut-être pas compris l'info importante de Jean-Eric ; aussi, regarde cette image :

screen

dhany

j' ai aussi vérifié de ce coté là. Mais c'est le même problème

Re,

il n'y pas de raison apparente pour que cela ne fonctionne pas.

Il manque EnableSelection, mais si tu n'a pas touché alors ?

Cdlt.

Rechercher des sujets similaires à "bar progression ouverture classeur"