Affichage userform modal

Bonjour,

Je travaille sur un formulaire Excel qui tourne uniquement avec des userform , ma problèmatique est que tout mes collègues ont des tailles d'écrans différentes et donc certains n'ont pas le plaisir d'avoir l'uf dans toute son intégralité et je ne trouve pas quelle commande utiliser pour demander un affichage "selon la taille de l'écran"?

Merci d'avance pour vos conseils



--
Quand on ne dispose que d'un marteau tout les problèmes ressemblent à un clou

5 réponses

  1. Bonjour,

    pour adapter automatiquement l'affichage d'une plage à la résolution de ton écran il faut écrire un bout de code VBA à coller dans la Thiswokbook
    pour écrire le code donne nous les limites de ta plage exemple A1:X30
    0
    1. Bonjour et Merci
      Ce n'est pas ma plage le problème, moi je travail sur un 24 pouces et j'ai un collègue qui bosse sur un 12.6 pouce donc son écran fait 1 quart du mien et un autre qui est sur du 15 pouce etc etc... je ne peux pas me permettre de coder et paramètrer des dimensions en fonction d'un utilisateur et surtout que le jour ou ils changent de format c'est à refaire j'imagine?
      0
  2. Re,

    Tu as mal compris, le code que je te propose est d'afficher une surface en fonction de l'écran sur lequel le fichier est ouvert.
    si au départ tu veux afficher la plage A1:X20 par exemple lorsque tu ouvriras le fichier sur un 15 pouces le code zoomera la surface prévue et dézoomera sur un écran plus petit sans altérer le fichier

    Autrement mettre ton Userform en modal ne changera pas l'affichage mais te permettra de te déplacer sur la plage l'userform active

    pour mettre ton Userform en modal il faut ouvrir le VBA cliquer sur l'Userform et dans les propriétés de l'Userform rechercher ShowModal et la mettre en False

    0
    1. Contributeur
      Bonjour,

      Voici un exemple, il faudra l'adapter

      https://www.cjoint.com/c/HItq0ia7yfQ

      0
      1. Bonjour et merci à tout les 2

        Si j'ai compris ton exemple cs_Le Pivert, chaque userform utilise une méthode différente
        L'UF 1 joue sur le zoom alors que le 2 redimensionne chaque éléments
        Dans le deuxième cas qu'advient il des left et top de ces éléments une fois leur taille révisées? je ne vois pas à quel moment image1 est recalibré?

        Mike, pour répondre à ta question donc, ma plage est A1:W40
        0
        1. Re,

          Oui le Modal est associé a une Userform

          pour répondre au zoom automatique, clic droit sur l'onglet de ta feuille/Visualiser le code double clic sur Thiswokbook pour ouvrir le module qui lui est associé et colle ce code

          Private Sub Workbook_Open()
          On Error Resume Next
          Application.ScreenUpdating = False
          [A1:W40].Select
          ActiveWindow.Zoom = True
          Application.ScreenUpdating = True
          [A1].Select
          End Sub

          le fichier doit être enregistré avec l’extension .XLSM ou .XLS
          0
      2. Contributeur
        Je ne comprends pas ton problème avec le control image1!
        L'image est dimensionnée dans le control

        Private Sub CommandButton1_Click()
        Dim Fichier As String
            Fichier = "C:\Users\monimage.jpg"'adapter le chemin
            'Vérifie si le fichier existe.
            If Dir(Fichier) <> "" Then
                'si le fichier existe, il est chargé pour visualisation.
                Image1.Picture = LoadPicture(Fichier)
                 Image1.PictureSizeMode = fmPictureSizeModeStretch ' a adapter
                Else
                'Sinon, affiche aucune image.
                Image1.Picture = LoadPicture("")
               End If
        End Sub

        0
        1. je n'avais pas vu cette procédure autant pour moi..
          merci à vous 2 je vais me pencher sur vos solutions et je vous tiendrai au courant de mes avancées
          0