Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Code userform plein écran plante [RESOLU]

cp4

XLDnaute Barbatruc
Bonjour,

Il y a un moment que j'ai trouvé ce code sur le forum. Jusqu'à aujourd'hui, il ne m'a pas posé de problème.
J'ai fait un nouveau formulaire dans lequel j'ai mis un webbrowser mais là le code plante.
J'ai effectué un autre test avec une progressbar et là aussi ça plante.
VB:
Option Explicit

Private Sub UserForm_Activate()
   Dim ctl As Control, ratiow As String, ratioh As String
   ratiow = Application.Width / Me.Width: ratioh = Application.Height / Me.Height
   Me.Left = 0: Me.Top = 0
   Me.Width = Application.Width: Me.Height = Application.Height
   For Each ctl In Me.Controls
      ctl.Left = ctl.Left * ratiow
      ctl.Top = ctl.Top * ratioh
      ctl.Width = ctl.Width * ratiow
      ctl.Height = ctl.Height * ratioh
      ctl.Font.Size = ctl.Font.Size * ratioh  '*** Plante ici ***
   Next
End Sub
Comment contourner ce problème?
Merci par avance.
Bonne journée.
 

Pièces jointes

  • Classeur1.xlsm
    18.9 KB · Affichages: 28

pierrejean

XLDnaute Barbatruc
Bonjour cp4

Ces contrôles n'ont pas de Texte donc pas de Font !!!
Solution:
Code:
Private Sub UserForm_Activate()
   Dim ctl As Control, ratiow As String, ratioh As String
   ratiow = Application.Width / Me.Width: ratioh = Application.Height / Me.Height
   Me.Left = 0: Me.Top = 0
   Me.Width = Application.Width: Me.Height = Application.Height
   For Each ctl In Me.Controls
      ctl.Left = ctl.Left * ratiow
      ctl.Top = ctl.Top * ratioh
      ctl.Width = ctl.Width * ratiow
      ctl.Height = ctl.Height * ratioh
      On Error Resume Next
      ctl.Font.Size = ctl.Font.Size * ratioh
      On Error GoTo 0
   Next
End Sub
 
Réactions: cp4

cp4

XLDnaute Barbatruc
Oups! Je suis vraiment confus. Je n'y avais pas pensé.
Bonjour @pierrejean . Merci beaucoup
Très bonne journée
 

Discussions similaires

Réponses
2
Affichages
842
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…