Bonjour,
Qui pourrait m'aider? j'ai un fichier excel type formulaire (avec texte et case à cocher). Comme je travaille avec 2 écrans de taille différente, lorsque je passe d'un écran à l'autre le texte se décale sur les cases à cocher ou inversement.
Qui aurait une solution svp?
Pièces jointes
2020 09 01 Permis de Travail COVID19 (version 1).xlsb.xlsm
Bonsoir
Déjà si ton tableau était structuré comme je vois en M43 du texte en 1 cellule .....qui s'étend entre deux des cases à cocher ! Bon
peut peut être déjà essayer de mettre un texte par cellule puis la case dans une autre ( même si elle n'est pas liée) etc et refaire un essai
Mais en temps qu'Ancien electronicien, je ne vois aucune raison technique
Moi j'ai renvoyé sur mon TV pas de soucis ....bon c'est juste un renvoi mais c'est idem
Comme je travaille avec 2 écrans de tailles différentes, lorsque je passe d'un écran à l'autre le texte se décale sur les cases à cocher ou inversement.
bien sur que si si la résolution n'est pas la même(résolution et taille ne sont pas la même chose)
on peut tres bien avoir 2 ecran de taille différente avec la même résolution ou 2 écran de même taille avec 2 résolution différente
donc là il sagit simplement d'appliquer un zoom (inférieur ou supérieure) a une plage
en ce qui concerne ce fichier visiblement c'est un zoom par rapport aux colonnes [A:S]
pour cela il faut calculer
la largeur de l'usable width de l'application par rapport au width de la plage "A:S"
comme je disais plus haut il serait intéressant de voir si il n'y a pas des sources
Bonjour à tous, Je suis en train de créer une interface servant de menu pour gérer des dossier et je souhaitais faire en sorte que l'application s'adapte aux différentes résolutions des utilisateurs lorsque ceux-ci utilisent plusieurs écran pouvant avoir des résolutions différentes. Pour cela...
www.excel-downloads.com
ou bien encore ici pour adapter uniquement par les colonnes
Bonjour à tous Ma résolution est 1366 x 768 et récemment j'ai testé un fichier sur un écran plus petit, malheureusement l'affichage n'était pas optimisé, il était trop petit , il fallait donc zoomer chaque feuilles est il possible, grâce à une macro, d'optimiser l'affichage de chaque feuille...
www.excel-downloads.com
en ce qui te concerne donc c'est bien un zoom par rapport aux colonnes car tu a bien trop de lignes pour zoomer sur une plage ligne/colonnes
VB:
Sub test()
zooming_columns Range("A:S")
End Sub
Function zooming_columns(rng As Variant)
Dim p_topx, marge#
Dim coeff#
With ActiveWindow
.Zoom = 100
p_topx = (.ActivePane.PointsToScreenPixelsX(72) - .ActivePane.PointsToScreenPixelsX(0)) / 72
marge = ((.ActivePane.PointsToScreenPixelsX(0) / p_topx) - Application.Left) * (1 + (Abs(ActiveWindow.DisplayVerticalScrollBar)))
If TypeName(rng) = "Range" Then
coeff = (Application.UsableWidth - marge) / rng.Width
.Zoom = 100 * coeff
Else
.Zoom = 100
End If
End With
[A1].Select
End Function
dans la démo ci dessous on voit bien le tableau dans son entière largeur après le zoom calculé
et cela fonctionnera sur tout tes écrans quels qu'ils soient et quelques résolution qu'ils aient
bien sur que si si la résolution n'est pas la même(résolution et taille ne sont pas la même chose)
on peut tres bien avoir 2 ecran de taille différente avec la même résolution ou 2 écran de même taille avec 2 résolution différente
donc là il sagit simplement d'appliquer un zoom (inférieur ou supérieure) a une plage
en ce qui concerne ce fichier visiblement c'est un zoom par rapport aux colonnes [A:S]
pour cela il faut calculer
la largeur de l'usable width de l'application par rapport au width de la plage "A:S"
comme je disais plus haut il serait intéressant de voir si il n'y a pas des sources
Bonjour à tous, Je suis en train de créer une interface servant de menu pour gérer des dossier et je souhaitais faire en sorte que l'application s'adapte aux différentes résolutions des utilisateurs lorsque ceux-ci utilisent plusieurs écran pouvant avoir des résolutions différentes. Pour cela...
www.excel-downloads.com
ou bien encore ici pour adapter uniquement par les colonnes
Bonjour à tous Ma résolution est 1366 x 768 et récemment j'ai testé un fichier sur un écran plus petit, malheureusement l'affichage n'était pas optimisé, il était trop petit , il fallait donc zoomer chaque feuilles est il possible, grâce à une macro, d'optimiser l'affichage de chaque feuille...
www.excel-downloads.com
en ce qui te concerne donc c'est bien un zoom par rapport aux colonnes car tu a bien trop de lignes pour zoomer sur une plage ligne/colonnes
VB:
Sub test()
zooming_columns Range("A:S")
End Sub
Function zooming_columns(rng As Variant)
Dim p_topx, marge#
Dim coeff#
With ActiveWindow
.Zoom = 100
p_topx = (.ActivePane.PointsToScreenPixelsX(72) - .ActivePane.PointsToScreenPixelsX(0)) / 72
marge = ((.ActivePane.PointsToScreenPixelsX(0) / p_topx) - Application.Left) * (1 + (Abs(ActiveWindow.DisplayVerticalScrollBar)))
If TypeName(rng) = "Range" Then
coeff = (Application.UsableWidth - marge) / rng.Width
.Zoom = 100 * coeff
Else
.Zoom = 100
End If
End With
[A1].Select
End Function
dans la démo ci dessous on voit bien le tableau dans son entière largeur après le zoom calculé
et cela fonctionnera sur tout tes écrans quels qu'ils soient et quelques résolution qu'ils aient Regarde la pièce jointe 1113245
bien sur que si si la résolution n'est pas la même(résolution et taille ne sont pas la même chose)
on peut tres bien avoir 2 ecran de taille différente avec la même résolution ou 2 écran de même taille avec 2 résolution différente
donc là il sagit simplement d'appliquer un zoom (inférieur ou supérieure) a une plage
en ce qui concerne ce fichier visiblement c'est un zoom par rapport aux colonnes [A:S]
pour cela il faut calculer
la largeur de l'usable width de l'application par rapport au width de la plage "A:S"
comme je disais plus haut il serait intéressant de voir si il n'y a pas des sources
Bonjour à tous, Je suis en train de créer une interface servant de menu pour gérer des dossier et je souhaitais faire en sorte que l'application s'adapte aux différentes résolutions des utilisateurs lorsque ceux-ci utilisent plusieurs écran pouvant avoir des résolutions différentes. Pour cela...
www.excel-downloads.com
ou bien encore ici pour adapter uniquement par les colonnes
Bonjour à tous Ma résolution est 1366 x 768 et récemment j'ai testé un fichier sur un écran plus petit, malheureusement l'affichage n'était pas optimisé, il était trop petit , il fallait donc zoomer chaque feuilles est il possible, grâce à une macro, d'optimiser l'affichage de chaque feuille...
www.excel-downloads.com
en ce qui te concerne donc c'est bien un zoom par rapport aux colonnes car tu a bien trop de lignes pour zoomer sur une plage ligne/colonnes
VB:
Sub test()
zooming_columns Range("A:S")
End Sub
Function zooming_columns(rng As Variant)
Dim p_topx, marge#
Dim coeff#
With ActiveWindow
.Zoom = 100
p_topx = (.ActivePane.PointsToScreenPixelsX(72) - .ActivePane.PointsToScreenPixelsX(0)) / 72
marge = ((.ActivePane.PointsToScreenPixelsX(0) / p_topx) - Application.Left) * (1 + (Abs(ActiveWindow.DisplayVerticalScrollBar)))
If TypeName(rng) = "Range" Then
coeff = (Application.UsableWidth - marge) / rng.Width
.Zoom = 100 * coeff
Else
.Zoom = 100
End If
End With
[A1].Select
End Function
dans la démo ci dessous on voit bien le tableau dans son entière largeur après le zoom calculé
et cela fonctionnera sur tout tes écrans quels qu'ils soient et quelques résolution qu'ils aient Regarde la pièce jointe 1113245
Il parle d'écrans ayant des tailles différentes, et non des résolutions différentes !!!
De toute façon la résolution ne devrait pas non plus avoir d'incidence sur le décalage du texte par rapport aux cases à cocher, sauf si les calculs d'adaptation à la résolution sont un peu pourris...
Remarque : autrefois tous les moniteurs avaient la même résolution, c'est pourquoi on prenait des moniteurs plus grands pour pouvoir afficher plus de choses à la fois.
Mais aujourd'hui ce n'est plus du tout le cas.
@Marcel32 et si justement a savoir!!! qu'excel a sa propre échelle
si un écran a une résolution plus basse et que les dimensions dans excel restent identique dans le fichier la partie concernée prendra plus de place a l"écran et je te parle même du DPI
non c'est plus comme avant ca il faut se le dire une bonne fois pour toute
ici l'astuce que je propose c'est
mesurer le usable.width de l'application ( et là oui!! on s'en fout de la résolution) car on a un repere dimentionel
une fois que l'on a le width du usable de l'application on mesure le with de la plage ici [A:S]
l'un / par l'autre tu a ton coefficient
ATTENTION!! le usable de donne avec le "HEADING" il te faut donc le soustraire
pour cela les fonctions ".PointsToScreenPixels" entre en jeu pour le calcul pixel par ce qu'elle calcule en pixel et le left - le (0) qui te donne la largeur de la bande des numero de lignes
voila comme ca on a pas besoins de connaitre aucune dimensions on compare l'un à l'autre
et comme on n'utilise pas de mesure en dur c'est calculé pour chaque ecran
voila
si la plage avait été raisonnablement dimensionnée on utiliserait (la méthode classique)le select de la plage et le zoom true
mais là on a besoins que de la largeur des colonnes
si un écran a une résolution plus basse et que les dimensions dans excel restent identique dans le fichier la partie concernée prendra plus de place a l"écran
En admettant que ce que tu dis soit vrai (pas compris ce que veut dire "les dimensions dans excel restent identique dans le fichier"), est-ce que ça doit pour autant décaler le texte ?
En toute logique, si Excel effectue des calculs de mise à léchelle moisis, oui. Sinon, il n'y a aucune raison que le texte se décale !
J'ai l'impression que la méthode que tu donnes n'a absolument rien à voir avec des résolutions différentes mais plutôt avec des définitions d'affichage différentes.
Et je crois bien que ça n'a aucun rapport avec le problème rencontré.
Je suppose que simplement en changeant le zoom de la feuille, le texte va se décaler légèrement, et ce quel que soit l'écran utilisé. @Lucio peux-tu essayer de modifier le zoom de ta page pour voir si le texte se décale, s'il te plait ?
les controls formulaire et activX et cellule ne sont pas dimensionnées de la même facon avec la même méthode dans excel
c'est pour ça que souvent on a des soucis avec la propriété "déplacer avec les cellules"
non je ne confond pas elles sont liées (malheureusement avec excel )
tiens kado pour tous
VB:
Function pointToPixel()
With ActiveWindow
.Zoom = 100
pointToPixel = ((.ActivePane.PointsToScreenPixelsX(72) - .ActivePane.PointsToScreenPixelsX(0)) / 72)
End With
End Function
Function largeur_Heading()
'combien mesure en largaeur la bande des numéros de ligne
With ActiveWindow
.Zoom = 100
.ScrollColumn = 1
largeur_Heading = ((.ActivePane.PointsToScreenPixelsX(0) / pointToPixel) - Application.Left) & " Points"
'traduction
'largeur_Heading= ((le point 0 left de la grille(ou [A1].left comme tu veux )!!!!a partir de la gauche de l'ecran !!!! )et diviser par le coeef pixel to point - le left de la fenetre application( a partir de la gauche de l'ecran
End With
End Function
Function DPI()
' à combien est paramétré mon DPI
With ActiveWindow
.Zoom = 100
Z = (.Zoom) / 100
If Val(Z * 10) Mod 2 <> 0 Then ssupp = 0.1: Z = Z + ssupp
DPI = (((.ActivePane.PointsToScreenPixelsY(72) - .ActivePane.PointsToScreenPixelsY(0)) / 72) / Z) * 72
End With
End Function
Sub test4()
Texte = Texte & "le coéfficient point to pixel sur mon pc est de " & pointToPixel & vbCrLf
Texte = Texte & "avec un parametre DPI sur mon pc de " & DPI & "<< soit 125% >>" & vbCrLf & vbCrLf
Texte = Texte & "Donc!! " & pointToPixel & " divisé par 1.25 =" & pointToPixel / 1.25 & vbCrLf
Texte = Texte & "qui est bien au coéff!! point to pixel en DPI 96 soit <<100%>>" & vbCrLf
Texte = Texte & "la largeur de mon heading (numero de ligne) est de " & largeur_Heading
MsgBox Texte
End Sub
En admettant que ce que tu dis soit vrai (pas compris ce que veut dire "les dimensions dans excel restent identique dans le fichier"), est-ce que ça doit pour autant décaler le texte ?
En toute logique, si Excel effectue des calculs de mise à léchelle moisis, oui. Sinon, il n'y a aucune raison que le texte se décale !
J'ai l'impression que la méthode que tu donnes n'a absolument rien à voir avec des résolutions différentes mais plutôt avec des définitions d'affichage différentes.
Et je crois bien que ça n'a aucun rapport avec le problème rencontré.
Je suppose que simplement en changeant le zoom de la feuille, le texte va se décaler légèrement, et ce quel que soit l'écran utilisé. @Lucio peux-tu essayer de modifier le zoom de ta page pour voir si le texte se décale, s'il te plait ?