Affichage userform modal

fabien25000 Messages postés 697 Statut Membre -  
fabien25000 Messages postés 697 Statut Membre -
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


5 réponses

Mike-31 Messages postés 19571 Statut Contributeur 5 137
 
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
fabien25000 Messages postés 697 Statut Membre 59
 
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
Mike-31 Messages postés 19571 Statut Contributeur 5 137
 
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
cs_Le Pivert Messages postés 8437 Statut Contributeur 729
 
Bonjour,

Voici un exemple, il faudra l'adapter

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

0
fabien25000 Messages postés 697 Statut Membre 59
 
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
Mike-31 Messages postés 19571 Statut Contributeur 5 137
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Le Pivert Messages postés 8437 Statut Contributeur 729
 
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
fabien25000 Messages postés 697 Statut Membre 59
 
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