hoh!!! j'en ai des tas
Version imprimable
hoh!!! j'en ai des tas
Si tu veux, ça me gène pas, c'est intéressant
Bonjour
Je ne veux pas vous faire de peine, mais ce dernier code provoque chez moi un décalage vers la droite (environ 2 pixels).
Alors que le code que j'ai mis dans mon message 225 place toujours à la perfection le userform.
Config : XP + office 2007
EDIT : je viens de mesurer le décalage ! il est très exactement de 2 points
comme on le disait seule la config XP n'a pas été testée
cette config étant obsolètes au vue des versions offices actuelles ,xp ne recevant plus de mises a jours
je sais même pas si il supporterait 2010
pour comprendre d'ouvien le soucis il nous faudrait
la mesure de
le retour deCode:application.width-application.usablewidth
et deCode:application.operatingsystem
avec ces renseignement on pourrais peut être ajouter cette conditionCode:application.version
Bonjour unparia
teste de ton poste 225 a 100%
Pièce jointe 280863
teste de ton poste a 200%
Pièce jointe 280866
@unparia je viens de regarder notre dernière version et si tu enlevais 2 chez moi même avec -2 ca reste au bord de l'userform
Code:cadre = IIf(system Like "*10*" And Val(Application.Version) <> 12, -cadre / 2.4, cadre / 2.4 - 2)
Je sais (Nicolas JACQUIN l'avait dit).
Problème : pile-poil avec XP et Office 2007 quel que soit le zoom !
-->>
Pièce jointe 280871
essaie au moins avec la ligne modifiée notre version pour voir
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Function PositionForm2(usf, rng) Dim Zooom#, PtToPx#, cadre#, system system = Application.OperatingSystem cadre = Application.Width - Application.UsableWidth cadre = IIf(system Like "*10*" And Val(Application.Version) <> 12, -cadre / 2.4, cadre / 2.4 - 2) With ActiveWindow Zooom = .Zoom / 100 PtToPx = ((.ActivePane.PointsToScreenPixelsX(ActiveSheet.[A1].Width) - .ActivePane.PointsToScreenPixelsX(0)) / ActiveSheet.[A1].Width) / Zooom lleft = (.PointsToScreenPixelsX(rng.Left * PtToPx * Zooom) / PtToPx) + cadre ttop = .PointsToScreenPixelsY(rng.Top * PtToPx * Zooom) / PtToPx + IIf(system Like "*6*", cadre, 0) Wwidth = IIf(rng.Columns.Count > 1, rng.Width * (Zooom) - cadre * 2, usf.Width) Hheight = IIf(rng.Rows.Count > 1, rng.Height * Zooom - cadre, usf.Height) End With PositionForm2 = Array(lleft, ttop, Wwidth, Hheight) End Function Sub TestUserformtopleftcell2() r = PositionForm2(UserForm1, [b3]) With UserForm1: .Show 0: .Left = r(0): .Top = r(1): End With End Sub
fait une capture
non, même en retirant +cadre au left avec zoom 200 il y a un décalage
Pièce jointe 280888
il faut mettre - cadre et ça passe au left
edit
Pièce jointe 280903
c'est etonnant
il faut donc -cadre*2 au left
et +cadre*2 autop
a moins que application.width-application.insidewidth ne ramène encore une variante différente
donc les 3 test de rigeur
t=application.width-application.insidewidth &vbcrlf
t=t & application.operatingsystem & vbcrlf
t=t & application.version
msgbox t
Ouille ...
Je viens de poser un regard sur les différentes captures d'écran et vous invite à en faire autant.
Il semble bien qu'il y ait une sacrée différence de définition du zoom entre une version (la mienne, par exemple) et l'autre .
Regardons par exemple ma dernière image :
on passe d'un zoom à 50 % à un zoom à 200 %.
Dans la "philosophie" du développeur de ma version, on voit bien qu'il s'agit non de multiplier par 4 hauteur et largeur, mais d'obtenir une surface 4 fois supérieure (et donc de ne pas multiplier par 4 les deux dimensions).
J'observe une "approche" très différente à l'examen des autres captures d'écran !
Je commence à penser que tout le problème est là : définitions différentes de ce qu'est un zoom !
576 les bords de l'application y a erreur la!!!!
version 00 ya erreur encore
a ben pas étonnant la version de Windows est en 64 bits même pas la peine de continuer a chercher
preuve est fait que la fonction peut même pas ramener le numéro de version Windows
il est de notoriété public et même Microsoft recommande l'installation de la version 32 bits
je me demande pourquoi on continue a le vendre ou l'installer sur les pcs commerciales
tu t'es pas planté dans ce que tu m'as demandé
Pièce jointe 280911
Pièce jointe 280916
ma version qu'on a faite et qui fonctionne est pourtant un Windows 64bits aussi