Bonjour, ce n'est pas la première fois que j'utilise des userform, mais la première fois que je rencontre ce type de problème.
Mon problème concerne un UserForm qui s'initialise pas correctement et n'affiche pas les boutons. Par contre une fois affiché, si je bouge mon userform avec ma souris, tout s'affiche correctement. Je ne comprends pas.
Je suis en double écran, avec des paramétrages différents (même résolution, mais zoom à 125% sur portable et 100% sur écran déporté)
ma fenetre excel a un zoom de 70%
J'ai cherché à centrer mon userform et aucune solution ne le mets correctement au centre (le moindre des problèmes)
Sa taille initial est 350 par 250 (réglage fixe dans les paramètres du userform, mais aussi repris dans le code cf ci-dessous)
lors de son affichage les boutons en bas (en dessous d'une listbox) ne s'affiche pas (bandeau blanc en bas et à droite). mais si je bouge le userform tout devient normal.
une fois refermé, sa taille a réduit dans la fenêtre de propriété de "VBA pour application" (285 par 190), ainsi que tout son contenu (bouton, texte, listbox)
Avez vous déjà rencontré cela? et comprenez vous d'où cela vient? Merci
Malheureusement les restrictions informatiques de ma boite bloquent tout partage de doc sur internet.
Merci pour votre aide
Julien
Dans la macro principal:
Load Listbox_ref
Listbox_ref.Show
Dans mon userform
Private Sub UserForm_Initialize()
'initialize the userform
With Listbox_ref
.Caption = Listboxtitle
.Listboxcomment.Caption = Listboxtxt
'.Listboxcomment.Height=
With .ListBox1
For i = 1 To UBound(listboxarray, 2)
.AddItem listboxarray(1, i)
Next i
End With
End With
Me.Width = 250
Me.Height = 350
'Dim lpRect As udtRECT
'hWnd = Application.hWnd
'lreturn = GetWindowRect(hWnd, lpRect)
'sngAppWidth = ConvertPixelsToPoints(lpRect.Right - lpRect.Left, "X")
'sngAppHeight = ConvertPixelsToPoints(lpRect.Bottom - lpRect.Top, "Y")
'Me.Left = ActiveWindow.Left + (ActiveWindow.Width - Me.Width) / 2
'Me.Top = ActiveWindow.Top + (ActiveWindow.Height - Me.Height) / 2
Me.Left = Application.Left + (Application.Width - Me.Width) / 2
Me.Top = Application.Top + (Application.Height - Me.Height) / 2
'Me.Left = ActiveWindow.Left + (sngAppWidth - Me.Width) / 2
'Me.Top = ActiveWindow.Top + (sngAppHeight - Me.Height) / 2
ListBox1.SetFocus
End Sub
Mon problème concerne un UserForm qui s'initialise pas correctement et n'affiche pas les boutons. Par contre une fois affiché, si je bouge mon userform avec ma souris, tout s'affiche correctement. Je ne comprends pas.
Je suis en double écran, avec des paramétrages différents (même résolution, mais zoom à 125% sur portable et 100% sur écran déporté)
ma fenetre excel a un zoom de 70%
J'ai cherché à centrer mon userform et aucune solution ne le mets correctement au centre (le moindre des problèmes)
Sa taille initial est 350 par 250 (réglage fixe dans les paramètres du userform, mais aussi repris dans le code cf ci-dessous)
lors de son affichage les boutons en bas (en dessous d'une listbox) ne s'affiche pas (bandeau blanc en bas et à droite). mais si je bouge le userform tout devient normal.
une fois refermé, sa taille a réduit dans la fenêtre de propriété de "VBA pour application" (285 par 190), ainsi que tout son contenu (bouton, texte, listbox)
Avez vous déjà rencontré cela? et comprenez vous d'où cela vient? Merci
Malheureusement les restrictions informatiques de ma boite bloquent tout partage de doc sur internet.
Merci pour votre aide
Julien
Dans la macro principal:
Load Listbox_ref
Listbox_ref.Show
Dans mon userform
Private Sub UserForm_Initialize()
'initialize the userform
With Listbox_ref
.Caption = Listboxtitle
.Listboxcomment.Caption = Listboxtxt
'.Listboxcomment.Height=
With .ListBox1
For i = 1 To UBound(listboxarray, 2)
.AddItem listboxarray(1, i)
Next i
End With
End With
Me.Width = 250
Me.Height = 350
'Dim lpRect As udtRECT
'hWnd = Application.hWnd
'lreturn = GetWindowRect(hWnd, lpRect)
'sngAppWidth = ConvertPixelsToPoints(lpRect.Right - lpRect.Left, "X")
'sngAppHeight = ConvertPixelsToPoints(lpRect.Bottom - lpRect.Top, "Y")
'Me.Left = ActiveWindow.Left + (ActiveWindow.Width - Me.Width) / 2
'Me.Top = ActiveWindow.Top + (ActiveWindow.Height - Me.Height) / 2
Me.Left = Application.Left + (Application.Width - Me.Width) / 2
Me.Top = Application.Top + (Application.Height - Me.Height) / 2
'Me.Left = ActiveWindow.Left + (sngAppWidth - Me.Width) / 2
'Me.Top = ActiveWindow.Top + (sngAppHeight - Me.Height) / 2
ListBox1.SetFocus
End Sub