Bonjour à tous,
J'ai essayé code Patrick mais j'ai eu une erreur au premier switch. En effet, la variable version contient "6,01-14". Je suis sur un windows 7 pro 64 bit avec Excel 2010 32 bits.
Version imprimable
Bonjour à tous,
J'ai essayé code Patrick mais j'ai eu une erreur au premier switch. En effet, la variable version contient "6,01-14". Je suis sur un windows 7 pro 64 bit avec Excel 2010 32 bits.
Bonjour,
remplace avec c'est 2 lignes et dis ce que ça donne
merci
Code:
1
2 SuppLeft = Switch(version = "0-15", 0, version = "0-16", 0, version = "6,01-12", 4, version = "6,01-14", 0, version = "6,02-14", 0, version = "6,02-15", 0, version = "10-14", 0, version = "10-15", -5, version = "10-16", -5) supptop = Switch(version = "0-15", 0, version = "0-16", 0, version = "6,01-12", 4, version = "6,01-14", 0, version = "6,02-14", 0, version = "6,02-15", 0, version = "10-14", 0, version = "10-15", 0, version = "10-16", 0)
bonjour oudouner
c'est quoi le message d'erreur???
Bonjour Patrick,
c'est normal, moi hier ça m'a fait pareil avec le test sur toute les versions, suffit de l'intégrer et c'est bon,
juste voir si le ratrappage est bon
re
oui les rattrapages je te fait confiance je ne peux pas vérifier
mais il a dit erreur c'est le message que je voudrais bien connaitre
vu que la version est absente dans le swith donc elle ne peut pas etre calculer
utilisation incorrecte de null erreur 94
OK j'ai le même retour pour eliminer ca au cas ou on aurait oublier une config dans le switch mettre les variable a zero avant le switch
Je fais les test demain quand je serais au boulot, je vous tiens au courant.
Bonjour,
Le message d'erreur était une erreur d'exécution '94' : Utilisation incorrecte de Null.
Le code fonctionne après avoir fait le remplacement.
EDIT: Si vous avez besoin :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 Zoom = 50 ---> DPI = 96 ---> coeff =1,33333333333333 Zoom = 60 ---> DPI = 80 ---> coeff =1,11111111111111 Zoom = 70 ---> DPI = 102,857142857143 ---> coeff =1,42857142857143 Zoom = 80 ---> DPI = 90 ---> coeff =1,25 Zoom = 90 ---> DPI = 106,666666666667 ---> coeff =1,48148148148148 Zoom = 100 ---> DPI = 96 ---> coeff =1,33333333333333 Zoom = 110 ---> DPI = 87,2727272727273 ---> coeff =1,21212121212121 Zoom = 120 ---> DPI = 100 ---> coeff =1,38888888888889 Zoom = 130 ---> DPI = 92,3076923076923 ---> coeff =1,28205128205128 Zoom = 140 ---> DPI = 102,857142857143 ---> coeff =1,42857142857143 Zoom = 150 ---> DPI = 96 ---> coeff =1,33333333333333 Zoom = 160 ---> DPI = 90 ---> coeff =1,25 Zoom = 170 ---> DPI = 98,8235294117647 ---> coeff =1,37254901960784 Zoom = 180 ---> DPI = 93,3333333333333 ---> coeff =1,2962962962963 Zoom = 190 ---> DPI = 101,052631578947 ---> coeff =1,40350877192982 Zoom = 200 ---> DPI = 96 ---> coeff =1,33333333333333 Zoom = 210 ---> DPI = 91,4285714285714 ---> coeff =1,26984126984127 Zoom = 220 ---> DPI = 98,1818181818182 ---> coeff =1,36363636363636 Zoom = 230 ---> DPI = 93,9130434782609 ---> coeff =1,30434782608696 Zoom = 240 ---> DPI = 100 ---> coeff =1,38888888888889 Zoom = 250 ---> DPI = 96 ---> coeff =1,33333333333333 Zoom = 260 ---> DPI = 92,3076923076923 ---> coeff =1,28205128205128 Zoom = 270 ---> DPI = 97,7777777777778 ---> coeff =1,35802469135802 Zoom = 280 ---> DPI = 94,2857142857143 ---> coeff =1,30952380952381 Zoom = 290 ---> DPI = 99,3103448275862 ---> coeff =1,37931034482759 Zoom = 300 ---> DPI = 96 ---> coeff =1,33333333333333 Zoom = 310 ---> DPI = 92,9032258064516 ---> coeff =1,29032258064516 Zoom = 320 ---> DPI = 97,5 ---> coeff =1,35416666666667 Zoom = 330 ---> DPI = 94,5454545454545 ---> coeff =1,31313131313131 Zoom = 340 ---> DPI = 98,8235294117647 ---> coeff =1,37254901960784 Zoom = 350 ---> DPI = 96 ---> coeff =1,33333333333333 Zoom = 360 ---> DPI = 93,3333333333333 ---> coeff =1,2962962962963 Zoom = 370 ---> DPI = 97,2972972972973 ---> coeff =1,35135135135135 Zoom = 380 ---> DPI = 94,7368421052632 ---> coeff =1,31578947368421 Zoom = 390 ---> DPI = 98,4615384615385 ---> coeff =1,36752136752137 Zoom = 400 ---> DPI = 96 ---> coeff =1,33333333333333
Merci oudouner ;)non on en a plus besoins puisque que l'on ne l'utilise plus
a tester absolument
il y a au moins 50 posts au minimum j'ai dis ca n'est pas pointstoscreenpixels!!!!!! qui déconne mais le ZOOM !!!!
j' ai recu des inpercuts verbaux me connaissant cela a déclenché forcement des réponses immédiates
et donc engendré des ceurelles absurdes et des démonstrations de savoir que je qualifierais pour ma part de cinématographique "suivez mon regard"
impossible de faire entendre raison
trouvant le sujet de discorde illogique j'ai decidé de prendre les chose a l'enverssouvenez vous il y a a peine quelque posts je démontrait que l'on obtenait des series avec pointstoscreenpixels qui semblait ordonnées selon les zooms
alors ai je raison ou ai je tord ?????????????????
alors fichtre non de dieu quézaco ca
c'est pas possible ca !!!!! un nombre au hasard ex: 10 multiplié par le zoom/100 avec un zoom a 120 donne bien 12 non de dieu !!!!!
et ainsi de suite
ON EST BIEN D'ACCORD!!!!!?????
ET BIEN NON pas avec excel !!!!!!!
tout du moins pas pour le HEIGHT!!!!!!!!!
une petite macro pour démontrer
j'ai mis un sleep au cas ou pour certains ca rentrerait pas assez vite hein !!! "suivrez mon regard "
je vous laisse constatez par vous mêmeCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub testzoom() Cells(1, 1).Resize(1, 5) = Array("zoom", "height", "width", "difference du height avec le suivant", "difference du width avec le suivant") lig = 1 With ActiveWindow For i = 80 To 200 lig = lig + 1 .Zoom = i Cells(lig, 1) = .Zoom Cells(lig, 2) = [A1].Height * .Zoom / 100 Cells(lig, 3) = [A1].Width * .Zoom / 100 Sleep 100 Next ActiveWindow.Zoom = 100 .ScrollRow = 1 .ScrollColumn = 1 End With With Range("D2") .Select .FormulaR1C1 = "=R[1]C[-2]-RC[-2]" Selection.AutoFill Destination:=Range("D2:D200"), Type:=xlFillDefault End With With Range("E2") .Select .FormulaR1C1 = "=R[1]C[-2]-RC[-2]" Selection.AutoFill Destination:=Range("E2:E200"), Type:=xlFillDefault End With End Sub
sachant que le coefficient zoom(.zoom/100) lui s'incrémente régulièrement
souvenez vous les séries soit disant a cause de pointstoscreenpixels
et regardez d'où elle viennent
que notre cher professeur vienne me dire que j'ai tords maintenant
LOL ;)
Bonjour,
je ne voulais plus intervenir sur cette discussion, mais je reviens juste pour demander à oudoumer de poster une copie d'écran du résultat de la dernière fonction de Patrick. Stp.........
bonsoir pikaku
la quelle? parce que la dernière je l'ai pas posté sur ce forum
Tu sais ce que te répond ton "cher professeur", Patricktoulon ? --->>
Tu viens tout simplement de démontrer que tu n'as rien compris au fonctionnement du zoom.
Il ne modifie en aucun cas les propriétés left, top, width et height des cellules. Seule est modifiée l'image à l'écran. Pas les propriétés des cellules.
Tu devrais te montrer moins lyrique, gesticuler beaucoup moins et remettre les pieds sur terre.
Mouarf.
Laquelle? Mais pardi celle qu'oudoumer a testé. Simplement...
si j'avais pas compris le zoom crois tu que j'utiliserais cette formule
Code:
1
2
3 Z=.zoom/100 ppx = IIf(((.ActivePane.PointsToScreenPixelsX([D3].Width) - .ActivePane.PointsToScreenPixelsX(0)) / Z) / [D3].Width > 1.34, 1.66666666666667, 1.33333333333333)
quand on est lourd, patricktoulon, on est lourd ...
que vient faire le zoom dans les résultats ? Rien ... ABSOLUMENT RIEN !
Remplace tous tes .zoom par la variable cancre -->> tu auras exactement les mêmes résultats (et pour cause). Alors ? Cancre = le zoom ?
Réveille-toi. Remets les pieds sur terre. :coucou:
EDIT : et reprends dans la foulée également quelques cours d'arithmétique. Tu en as apparemment un énorme besoin, toi qui sembles ne pas comprendre que (exemple) 83% de 20 - 82% de 20 est rigoureusement égal à 102% de 20 - 101% de 20, hein ...
Certaines "choses" sont vraiment pour le moins alarmantes et déprimantes ... :cry:
En te rappelant (puisque tu dis "avoir compris le fonctionnement du zoom") que les valeurs des propriétés de [A1] ne sont en aucun cas modifiées par le zoom et sont donc toujours les mêmes, hein ...
Bref ...
Bonjour,
Voilà pijaku, en zoom 100% sur Excel avec cette fonction :
Pièce jointe 291479Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Sub version_ALLWin_Off() Dim ppx#, version As String, X#, Y#, SuppLeft#, Supptop# With CreateObject("WScript.Shell"): ppx = .RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ThemeManager\LastLoadedDPI") / 72: End With version = CStr(Val(Split(Application.OperatingSystem, " ")(3)) & "-" & Val(Application.version)) 'MsgBox version SuppLeft = Switch(version = "0-15", 0, version = "0-16", 0, version = "6,01-12", 4, version = "6,01-14", 0, version = "6,02-14", 0, version = "6,02-15", 0, version = "10-14", 0, version = "10-15", -5, version = "10-16", -5) Supptop = Switch(version = "0-15", 0, version = "0-16", 0, version = "6,01-12", 4, version = "6,01-14", 0, version = "6,02-14", 0, version = "6,02-15", 0, version = "10-14", 0, version = "10-15", 0, version = "10-16", 0) With ActiveWindow X = .ActivePane.PointsToScreenPixelsX([D3].Left) / ppx Y = .ActivePane.PointsToScreenPixelsY([D3].Top) / ppx End With With UserForm1 .Show 0 .Left = X + SuppLeft .Top = Y + Supptop End With End Sub
Je tiens à préciser que je suis uniquement là en tant que testeur. Je n'ai absolument pas l'expérience et les compétences pour pouvoir juger de qui a raison et de qui a tort. Je suis juste intéressé par ce sujet et j'espère que la vérité finira par être connue de manière certaine.
EDIT: Quelqu'un pourrait-il aussi m'expliquer cette ligne, en particulier à quoi correspond la clé de registre utilisé ?
Code:With CreateObject("WScript.Shell"): ppx = .RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ThemeManager\LastLoadedDPI") / 72: End With
bonjour oudouner
quand tu change la taille des caractères d'affichage tu change le dpi96 a la base pour 120 a 125%
ce qui a pour conséquence d'agrandir tout ce qui s'affiche a l'écran
cette clé présente dans la base de registre dans w7 jusqu'à a W10 donne le dpi octroyé pour l'affichage écran
soit ici l'exemple le plus courant
dpi 96*125%=120
donc si le coefficient point to pixel=96/72=1,333333333333333
tu multiplie ce coeficient par 1.25(125%/100)=1,6666666666666667
on a ainsi un coefficient point topixel
en dpi 96 coefficient=1,333333333333333
en dpi amélioré (120) coefficient=1,6666666666666667
je précise qu'il sagit seulement d'affichage car certains pense que je n'ai pas compris
1 pixel étant immuable