OVH Cloud OVH Cloud

ScrollArea & ScreenUpdating

2 réponses
Avatar
Stéphan DuQuébec
Bonjour,

J'aurais deux questions, si vous me le permettez.

LA PREMIÈRE: comment puis-je faire référence, dans la définition d'un
ScrollArea, à une zone qui s'adapte du genre (bien entendu, mon exemple ne
fonctionne pas):

Worksheets("Cumulatif 2005").ScrollArea =
"A25:Range("a65530").End(xlUp)(2).Offset(0, 14)" J'aimerais en fait que mon
ScrollArea commence à A25 mais se termine toujours à la 14e colonne de la
dernière ligne annotée + 1.

LA SECONDE: J'ai, dans mon événement Workook_Open (ci-bas), une série de
commandes mais qui devraient être non visibles pour l'utilisateur avec mes
ScreenUpdating False et True. Or, ils ne gèlent pas mon écran comme ils le
devraient. Y a-t-il, dans mes commandes de la macro, quelque chose qui vient
faire en sorte que le ScreenUpdating False s'essoufle un moment donné ?

Merci pour les informations que vous pourriez me partager.

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

Private Sub Workbook_Open()

Feuil2.Visible = True

Feuil2.Select

Application.ScreenUpdating = False

Feuil3.Visible = xlVeryHidden
Feuil1.Visible = xlVeryHidden
Feuil4.Visible = xlVeryHidden

Application.WindowState = xlMaximized

Dim CmdB As CommandBar
For Each CmdB In Application.CommandBars
CmdB.Enabled = False
Next CmdB

Application.CommandBars(1).Enabled = True
Sheets("Cumulatif 2005").Select
ActiveSheet.Unprotect Password:="adm"

With Range("A1:G28").Activate
ActiveWindow.Zoom = True
End With

Worksheets("Cumulatif 2005").ScrollArea = "A25:AC300"

Selection.AutoFilter Field:=1
Selection.AutoFilter Field:=2
Selection.AutoFilter Field:=3
Selection.AutoFilter Field:=4

ActiveSheet.Protect Password:="adm", Scenarios:=True,
UserInterfaceOnly:=True, AllowFiltering:=True, DrawingObjects:=True

Application.ScreenUpdating = True

Range("A26").Select

End Sub

2 réponses

Avatar
Hervé
Bonsoir Stéphan,
Pour la première, ScrollArea attend une adresse sous forme de chaine :

With Worksheets("Cumulatif 2005")
.ScrollArea = .Range(.[A25], _
.[A65536].End(3)(2).Offset(0, 14)).Address
End With

Pour la seconde, j'ai testé et la vitesse d'exécution ne m'a pas permis de
voir des flashs ?

Hervé.

"Stéphan DuQuébec" a écrit dans le
message de news:
Bonjour,

J'aurais deux questions, si vous me le permettez.

LA PREMIÈRE: comment puis-je faire référence, dans la définition d'un
ScrollArea, à une zone qui s'adapte du genre (bien entendu, mon exemple ne
fonctionne pas):

Worksheets("Cumulatif 2005").ScrollArea > "A25:Range("a65530").End(xlUp)(2).Offset(0, 14)" J'aimerais en fait que
mon
ScrollArea commence à A25 mais se termine toujours à la 14e colonne de la
dernière ligne annotée + 1.

LA SECONDE: J'ai, dans mon événement Workook_Open (ci-bas), une série de
commandes mais qui devraient être non visibles pour l'utilisateur avec mes
ScreenUpdating False et True. Or, ils ne gèlent pas mon écran comme ils le
devraient. Y a-t-il, dans mes commandes de la macro, quelque chose qui
vient
faire en sorte que le ScreenUpdating False s'essoufle un moment donné ?

Merci pour les informations que vous pourriez me partager.

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

Private Sub Workbook_Open()

Feuil2.Visible = True

Feuil2.Select

Application.ScreenUpdating = False

Feuil3.Visible = xlVeryHidden
Feuil1.Visible = xlVeryHidden
Feuil4.Visible = xlVeryHidden

Application.WindowState = xlMaximized

Dim CmdB As CommandBar
For Each CmdB In Application.CommandBars
CmdB.Enabled = False
Next CmdB

Application.CommandBars(1).Enabled = True
Sheets("Cumulatif 2005").Select
ActiveSheet.Unprotect Password:="adm"

With Range("A1:G28").Activate
ActiveWindow.Zoom = True
End With

Worksheets("Cumulatif 2005").ScrollArea = "A25:AC300"

Selection.AutoFilter Field:=1
Selection.AutoFilter Field:=2
Selection.AutoFilter Field:=3
Selection.AutoFilter Field:=4

ActiveSheet.Protect Password:="adm", Scenarios:=True,
UserInterfaceOnly:=True, AllowFiltering:=True, DrawingObjects:=True

Application.ScreenUpdating = True

Range("A26").Select

End Sub


Avatar
Stéphan DuQuébec
Bonjour Hervé,

Milles mercis pour la réponse à ma première question.

En ce qui concerne ma seconde, je ne comprend pas l'impact que peut avoir la
vitesse d'exécution sur les supposés flashs......Le ScreenUpdating n'est-il
pas supposé geler mon écran peu importe la vitesse d'exécution ou la quantité
d'opérations à réaliser ultérieurement à un = False ???

C'est du moins ce que j'en comprennais.....

Merci !


Bonsoir Stéphan,
Pour la première, ScrollArea attend une adresse sous forme de chaine :

With Worksheets("Cumulatif 2005")
.ScrollArea = .Range(.[A25], _
.[A65536].End(3)(2).Offset(0, 14)).Address
End With

Pour la seconde, j'ai testé et la vitesse d'exécution ne m'a pas permis de
voir des flashs ?

Hervé.

"Stéphan DuQuébec" a écrit dans le
message de news:
Bonjour,

J'aurais deux questions, si vous me le permettez.

LA PREMIÈRE: comment puis-je faire référence, dans la définition d'un
ScrollArea, à une zone qui s'adapte du genre (bien entendu, mon exemple ne
fonctionne pas):

Worksheets("Cumulatif 2005").ScrollArea > > "A25:Range("a65530").End(xlUp)(2).Offset(0, 14)" J'aimerais en fait que
mon
ScrollArea commence à A25 mais se termine toujours à la 14e colonne de la
dernière ligne annotée + 1.

LA SECONDE: J'ai, dans mon événement Workook_Open (ci-bas), une série de
commandes mais qui devraient être non visibles pour l'utilisateur avec mes
ScreenUpdating False et True. Or, ils ne gèlent pas mon écran comme ils le
devraient. Y a-t-il, dans mes commandes de la macro, quelque chose qui
vient
faire en sorte que le ScreenUpdating False s'essoufle un moment donné ?

Merci pour les informations que vous pourriez me partager.

_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

Private Sub Workbook_Open()

Feuil2.Visible = True

Feuil2.Select

Application.ScreenUpdating = False

Feuil3.Visible = xlVeryHidden
Feuil1.Visible = xlVeryHidden
Feuil4.Visible = xlVeryHidden

Application.WindowState = xlMaximized

Dim CmdB As CommandBar
For Each CmdB In Application.CommandBars
CmdB.Enabled = False
Next CmdB

Application.CommandBars(1).Enabled = True
Sheets("Cumulatif 2005").Select
ActiveSheet.Unprotect Password:="adm"

With Range("A1:G28").Activate
ActiveWindow.Zoom = True
End With

Worksheets("Cumulatif 2005").ScrollArea = "A25:AC300"

Selection.AutoFilter Field:=1
Selection.AutoFilter Field:=2
Selection.AutoFilter Field:=3
Selection.AutoFilter Field:=4

ActiveSheet.Protect Password:="adm", Scenarios:=True,
UserInterfaceOnly:=True, AllowFiltering:=True, DrawingObjects:=True

Application.ScreenUpdating = True

Range("A26").Select

End Sub