j'ai un Userform avec 732 Label. Lorsque j'appuye sur un=20
bouton, =E7a lance cette macro :
Sub MAJCalendrierAnn=E9e(Optional a As Boolean)
Dim Bisextile As Boolean
Dim TableauJour() As Variant
Dim PremierJour As Byte
Dim i As Integer
Dim j As Integer
=20
Application.ScreenUpdating =3D False
=20
CalendrierAnn=E9e.LabelAnn=E9e.Caption =3D MoisSelection.Ann=E9e
=20
TableauJour =3D Array("L", "M", "M", "J", "V", "S", "D")
PremierJour =3D Weekday(DateSerial(MoisSelection.Ann=E9e, 1,=20
1), vbMonday)
=20
For j =3D 0 To 365
=20
i =3D j + 366
=20
=20
CalendrierAnn=E9e.Controls(i).Caption =3D TableauJour
(PremierJour - 1)
=20
PremierJour =3D PremierJour + 1
If PremierJour =3D 8 Then PremierJour =3D 1
Next j
Application.ScreenUpdating =3D True
End Sub
=3D> en gros cette macro remet les valeur de mes Labels =E0=20
jour.
Ce que je ne comprend pas, c'est que les labels=20
disparaissent puis r=E9apparaissent (pas tous en m=EAme=20
temps) pendant que la macro est lanc=E9e =3D> peut-on =E9citer=20
ce Ph=E9nom=E8ne ?
PremierJour = PremierJour + 1 If PremierJour = 8 Then PremierJour = 1
Next j
Application.ScreenUpdating = True
End Sub
=> en gros cette macro remet les valeur de mes Labels à jour.
Ce que je ne comprend pas, c'est que les labels disparaissent puis réapparaissent (pas tous en même temps) pendant que la macro est lancée => peut-on éciter ce Phénomène ?
Salut Emcy;
Que vient faire Application.ScreenUpdating = True dans cette sub ?
MP
"Emcy" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:0f9f01c3a22a$49912140$a401280a@phx.gbl...
Salut,
j'ai un Userform avec 732 Label. Lorsque j'appuye sur un
bouton, ça lance cette macro :
Sub MAJCalendrierAnnée(Optional a As Boolean)
Dim Bisextile As Boolean
Dim TableauJour() As Variant
Dim PremierJour As Byte
Dim i As Integer
Dim j As Integer
PremierJour = PremierJour + 1
If PremierJour = 8 Then PremierJour = 1
Next j
Application.ScreenUpdating = True
End Sub
=> en gros cette macro remet les valeur de mes Labels à
jour.
Ce que je ne comprend pas, c'est que les labels
disparaissent puis réapparaissent (pas tous en même
temps) pendant que la macro est lancée => peut-on éciter
ce Phénomène ?
PremierJour = PremierJour + 1 If PremierJour = 8 Then PremierJour = 1
Next j
Application.ScreenUpdating = True
End Sub
=> en gros cette macro remet les valeur de mes Labels à jour.
Ce que je ne comprend pas, c'est que les labels disparaissent puis réapparaissent (pas tous en même temps) pendant que la macro est lancée => peut-on éciter ce Phénomène ?
Hervé
Salut Emcy, Essai avec ceci, pas testé car trop de labels et puis un peu fénéant :
Private Declare Function LockWindowUpdate Lib "user32" _ (ByVal HwndLock As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias _ "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName _ As String) As Long
Sub MAJCalendrierAnnée(Optional a As Boolean)
Dim Bisextile As Boolean Dim TableauJour() As Variant Dim PremierJour As Byte Dim i As Integer Dim j As Integer 'fige la mise à jour (normalement ;o)) LockWindowUpdate FindWindow(vbNullString, Me.Caption)
PremierJour = PremierJour + 1 If PremierJour = 8 Then PremierJour = 1
Next j
Application.ScreenUpdating = True
End Sub
=> en gros cette macro remet les valeur de mes Labels à jour.
Ce que je ne comprend pas, c'est que les labels disparaissent puis réapparaissent (pas tous en même temps) pendant que la macro est lancée => peut-on éciter ce Phénomène ?
Salut Emcy,
Essai avec ceci, pas testé car trop de labels et puis un peu fénéant :
Private Declare Function LockWindowUpdate Lib "user32" _
(ByVal HwndLock As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName _
As String) As Long
Sub MAJCalendrierAnnée(Optional a As Boolean)
Dim Bisextile As Boolean
Dim TableauJour() As Variant
Dim PremierJour As Byte
Dim i As Integer
Dim j As Integer
'fige la mise à jour (normalement ;o))
LockWindowUpdate FindWindow(vbNullString, Me.Caption)
PremierJour = PremierJour + 1
If PremierJour = 8 Then PremierJour = 1
Next j
Application.ScreenUpdating = True
End Sub
=> en gros cette macro remet les valeur de mes Labels à
jour.
Ce que je ne comprend pas, c'est que les labels
disparaissent puis réapparaissent (pas tous en même
temps) pendant que la macro est lancée => peut-on éciter
ce Phénomène ?
Salut Emcy, Essai avec ceci, pas testé car trop de labels et puis un peu fénéant :
Private Declare Function LockWindowUpdate Lib "user32" _ (ByVal HwndLock As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias _ "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName _ As String) As Long
Sub MAJCalendrierAnnée(Optional a As Boolean)
Dim Bisextile As Boolean Dim TableauJour() As Variant Dim PremierJour As Byte Dim i As Integer Dim j As Integer 'fige la mise à jour (normalement ;o)) LockWindowUpdate FindWindow(vbNullString, Me.Caption)
PremierJour = PremierJour + 1 If PremierJour = 8 Then PremierJour = 1
Next j
Application.ScreenUpdating = True
End Sub
=> en gros cette macro remet les valeur de mes Labels à jour.
Ce que je ne comprend pas, c'est que les labels disparaissent puis réapparaissent (pas tous en même temps) pendant que la macro est lancée => peut-on éciter ce Phénomène ?
Emcy
Il ne sert pas à grand chose, mais si je l'enlève ça ne change rien
-----Message d'origine----- Salut Emcy; Que vient faire Application.ScreenUpdating = True dans cette sub ?
MP
"Emcy" a écrit dans le message de
news:0f9f01c3a22a$49912140$ Salut,
j'ai un Userform avec 732 Label. Lorsque j'appuye sur un bouton, ça lance cette macro :
Sub MAJCalendrierAnnée(Optional a As Boolean)
Dim Bisextile As Boolean Dim TableauJour() As Variant Dim PremierJour As Byte Dim i As Integer Dim j As Integer
PremierJour = PremierJour + 1 If PremierJour = 8 Then PremierJour = 1
Next j
Application.ScreenUpdating = True
End Sub
=> en gros cette macro remet les valeur de mes Labels à jour.
Ce que je ne comprend pas, c'est que les labels disparaissent puis réapparaissent (pas tous en même temps) pendant que la macro est lancée => peut-on éciter ce Phénomène ?
.
Il ne sert pas à grand chose, mais si je l'enlève ça ne
change rien
-----Message d'origine-----
Salut Emcy;
Que vient faire Application.ScreenUpdating = True dans
cette sub ?
MP
"Emcy" <anonymous@discussions.microsoft.com> a écrit
dans le message de
PremierJour = PremierJour + 1
If PremierJour = 8 Then PremierJour = 1
Next j
Application.ScreenUpdating = True
End Sub
=> en gros cette macro remet les valeur de mes Labels à
jour.
Ce que je ne comprend pas, c'est que les labels
disparaissent puis réapparaissent (pas tous en même
temps) pendant que la macro est lancée => peut-on éciter
ce Phénomène ?
PremierJour = PremierJour + 1 If PremierJour = 8 Then PremierJour = 1
Next j
Application.ScreenUpdating = True
End Sub
=> en gros cette macro remet les valeur de mes Labels à jour.
Ce que je ne comprend pas, c'est que les labels disparaissent puis réapparaissent (pas tous en même temps) pendant que la macro est lancée => peut-on éciter ce Phénomène ?