Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

L'ombre de la barre de menus plane sur mes feuilles ...

2 réponses
Avatar
j-pascal
Bonsoir,

Mes feuilles sont en plein écran :

(détail)
'---
For Each cmdB In Application.CommandBars
cmdB.Enabled = False
Next cmdB

Application.DisplayAlerts = False
For i = 1 To Worksheets.Count - 1

Application.ScreenUpdating = False
Sheets(i).Select
Sheets(i).ScrollArea = "A1:N25"

With Application
.DisplayStatusBar = False
.DisplayFormulaBar = False
End With

With ActiveWindow
'.DisplayWorkbookTabs = False 'masque les onglets
.DisplayHeadings = False
.DisplayHorizontalScrollBar = False
.DisplayVerticalScrollBar = False
End With

ActiveSheet.Columns("A:N").Select
ActiveWindow.Zoom = True

Next i
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
'---


Si je lance :

'--
Sub Unprotect()
Dim n As Integer
Dim i As Integer

n = ActiveWorkbook.Sheets.Count
For i = 1 To n
Worksheets(i).Unprotect
DoEvents
Next i
End Sub
'--

.. tout va bien, mais si cette procédure "Unprotect" est lancée depuis
:

'--
Private Sub Valide_Année_Click()
Dim i As Integer
Stop
Call Unprotect
Sheets("Janvier").[m2] = ListBox1.Value
Unload MenuAnnées
Call Protect
End Sub
'--


L'ombre de la barre de titres (sans les titres) apparaît sur chaque
feuille ! J'ai ajouté un "DoEvents" au cas où, mais sans effet !

Merci pour vos lumières ... qui pourraient mettre fin à cette ombre ...

jp

2 réponses

Avatar
MichDenis
Bonjour J-Pascal,

Je n'ai pas testé ton code... seulement quelques commentaires...

à propos de cette procédure : "Private Sub Valide_Année_Click"

A ) si tu veux inscrire une donnée dans une feuille, pourquoi
ne pas déprotéger que la feuille concernée :

With Sheets("Janvier")
.Unprotect
.Range("M2") = ListBox1.Value
.protect
End With

B ) que fait cette procédure : Unload MenuAnnées que tu
appelles ?

C ) Tu as défini dans une de tes procédures la plage accessible
pour chacune de tes feuilles : Sheets(i).ScrollArea = "A1:N25"
Pourtant, ta macro va écrire en colonne "M". (pas tester mais
dans ton environnement particulier, est-ce que cela peut
avoir un effet ?????





"j-pascal" a écrit dans le message de groupe de discussion :

Bonsoir,

Mes feuilles sont en plein écran :

(détail)
'---
For Each cmdB In Application.CommandBars
cmdB.Enabled = False
Next cmdB

Application.DisplayAlerts = False
For i = 1 To Worksheets.Count - 1

Application.ScreenUpdating = False
Sheets(i).Select
Sheets(i).ScrollArea = "A1:N25"

With Application
.DisplayStatusBar = False
.DisplayFormulaBar = False
End With

With ActiveWindow
'.DisplayWorkbookTabs = False 'masque les onglets
.DisplayHeadings = False
.DisplayHorizontalScrollBar = False
.DisplayVerticalScrollBar = False
End With

ActiveSheet.Columns("A:N").Select
ActiveWindow.Zoom = True

Next i
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
'---


Si je lance :

'--
Sub Unprotect()
Dim n As Integer
Dim i As Integer

n = ActiveWorkbook.Sheets.Count
For i = 1 To n
Worksheets(i).Unprotect
DoEvents
Next i
End Sub
'--

.. tout va bien, mais si cette procédure "Unprotect" est lancée depuis
:

'--
Private Sub Valide_Année_Click()
Dim i As Integer
Stop
Call Unprotect
Sheets("Janvier").[m2] = ListBox1.Value
Unload MenuAnnées
Call Protect
End Sub
'--


L'ombre de la barre de titres (sans les titres) apparaît sur chaque
feuille ! J'ai ajouté un "DoEvents" au cas où, mais sans effet !

Merci pour vos lumières ... qui pourraient mettre fin à cette ombre ...

jp
Avatar
j-pascal
Bonsoir Denis,

Bonjour J-Pascal,

Je n'ai pas testé ton code... seulement quelques commentaires...

à propos de cette procédure : "Private Sub Valide_Année_Click"

A ) si tu veux inscrire une donnée dans une feuille, pourquoi
ne pas déprotéger que la feuille concernée :



Tu as raison, cela suffit. Comme la nouvelle valeur est reprise (via
une fonction) pour toutes les autres feuilles, dans des cellules
protégées, j'ai pensé que c'était nécessaire de tout déprotéger pour
que la modification soit prise en compte ! Je trouve étonnant qu'une
cellule protégée puisse accepter un changement de valeur !!

With Sheets("Janvier")
.Unprotect
.Range("M2") = ListBox1.Value
.protect
End With

B ) que fait cette procédure : Unload MenuAnnées que tu
appelles ?



(Je ne suis pas sûr de comprendre ta question) Elle décharge le UF qui
contient la ListBox (où sont listées les Années) !!

C ) Tu as défini dans une de tes procédures la plage accessible
pour chacune de tes feuilles : Sheets(i).ScrollArea = "A1:N25"
Pourtant, ta macro va écrire en colonne "M". (pas tester mais
dans ton environnement particulier, est-ce que cela peut
avoir un effet ?????



Merci pour cette observation. J'ai déplacé la cellule de référence dans
la zone du ScrollArea : aucun effet sur "l'ombre" en question.>


"j-pascal" a écrit dans le message de groupe de
discussion :
Bonsoir,

Mes feuilles sont en plein écran :

(détail)
'---
For Each cmdB In Application.CommandBars
cmdB.Enabled = False
Next cmdB

Application.DisplayAlerts = False
For i = 1 To Worksheets.Count - 1

Application.ScreenUpdating = False
Sheets(i).Select
Sheets(i).ScrollArea = "A1:N25"

With Application
.DisplayStatusBar = False
.DisplayFormulaBar = False
End With

With ActiveWindow
'.DisplayWorkbookTabs = False 'masque les onglets
.DisplayHeadings = False
.DisplayHorizontalScrollBar = False
.DisplayVerticalScrollBar = False
End With

ActiveSheet.Columns("A:N").Select
ActiveWindow.Zoom = True

Next i
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
'---


Si je lance :

'--
Sub Unprotect()
Dim n As Integer
Dim i As Integer

n = ActiveWorkbook.Sheets.Count
For i = 1 To n
Worksheets(i).Unprotect
DoEvents
Next i
End Sub
'--

.. tout va bien, mais si cette procédure "Unprotect" est lancée depuis




'--
Private Sub Valide_Année_Click()
Dim i As Integer
Stop
Call Unprotect
Sheets("Janvier").[m2] = ListBox1.Value
Unload MenuAnnées
Call Protect
End Sub
'--


L'ombre de la barre de titres (sans les titres) apparaît sur chaque
feuille ! J'ai ajouté un "DoEvents" au cas où, mais sans effet !

Merci pour vos lumières ... qui pourraient mettre fin à cette ombre ...

jp