XL 2016 Cherche possesseur de MAC connaissant VBA

Dudu2

XLDnaute Barbatruc
Bonjour,

Pour un XLDNaute du Canada j'ai développé un code sous Windows.
Je vire tout ce qui est API Windows. Et tous les caractères accentués.

1 - Cependant comment fait-on en MAC pour trouver le ratio Point / Pixel ?
2 - Y a-t-il une fonction Sleep(milliseconds) ?

Merci par avance
 

Dudu2

XLDnaute Barbatruc
En fait il faudrait que je trouve le moyen de calculer automatiquement PtToPx
Est-ce que cette instruction donne un résultat ?
MacPoints = (TypesettersPoints/72)*ResolutionInDotsPerInch
 

Staple1600

XLDnaute Barbatruc
Re

@Dudu2
Dans le lien que je cite, on peut lire
macOS and Windows handle screen resolution differently because they use different technologies to display images on the screen.macOS uses the Quartz imaging model, which is based on the PDF (Portable Document Format) standard developed by Adobe. This model uses a fixed resolution for the display and then scales the images to fit the screen. This results in a consistent and sharp image, but it may not be as detailed as the image on Windows.Windows, on the other hand, uses the GDI (Graphics Device Interface) and DirectDraw technologies, which are based on the display's native resolution. This means that the images are displayed at the same resolution as the screen, resulting in a more detailed image. However, this can lead to inconsistencies in the way images are displayed on different screens.Overall, both macOS and Windows have their own strengths and weaknesses when it comes to handling screen resolution. It ultimately comes down to personal preference and the specific needs of the user.
Donc lisant ceci, je me suis dit, que c'est peut-être cela qui explique que RyuAutodidacte (sur Mac) et toi sur PC, vous n'obtenez pas les mêmes résultats
 

Dudu2

XLDnaute Barbatruc
Sinon, voici un moyen de calculer un PixelToPoint assez précis, même si MAC n'utilise pas la notion de Pixel, il semble qu'il y a les fonctions Excel PointsToScreenPixelsX/Y donc...
VB:
'-----------------------
'Points to Pixels approx
'-----------------------
Function PointsToPixels(Optional Points As Double = 1) As Double
    Dim ZoomRatio As Single
    Dim PointToPixel As Double
   
    With ActiveWindow.ActivePane
        ZoomRatio = .Parent.Zoom / 100
        PointToPixel = ((.PointsToScreenPixelsX(1000) - .PointsToScreenPixelsX(0)) / 1000) / ZoomRatio
    End With
   
    PointsToPixels = Points * PointToPixel
End Function

'-----------------------
'Pixels to Points approx
'-----------------------
Function PixelsToPoints(Optional Pixels As Double = 1) As Double
    PixelsToPoints = Pixels / PointsToPixels
End Function
 

RyuAutodidacte

XLDnaute Impliqué
Re

@Dudu2
Dans le lien que je cite, on peut lire

Donc lisant ceci, je me suis dit, que c'est peut-être cela qui explique que RyuAutodidacte (sur Mac) et toi sur PC, vous n'obtenez pas les mêmes résultats
Hello @Staple1600
Ce que je ne comprends pas c'est qu'avec le même code j'ai eu un résultat identique sur PC et MAC avec un 14" lenevo (seul ou avec un 2ème écran) et un MacBook Pro 14"(seul ou avec un 2ème écran) et un Imac 27"
... .... ... ????
 

RyuAutodidacte

XLDnaute Impliqué
J'aimerais bien avoir un MAC pour voir le résultat de mon code qui fonctionne sur tous les PC (et ça j'en suis sûr à 100%) et corriger en fonction des observations d'affichage sur MAC. Mais ce n'est pas le cas donc je verrai demain les réponses de @RyuAutodidacte.
Il faut que je reboot sur Mac OS X, là je suis sur partition Windows (installation native via Bootcamp)
 

RyuAutodidacte

XLDnaute Impliqué
Essaie voir ça sur MAC ?
100 % :
1695844447896.png

140% :
1695844505323.png
 

Dudu2

XLDnaute Barbatruc
Test sur MAC: Évidemment avec le ratio 0.75 qui est à l'envers !

Je t'envoie ce fichier qui permet de saisir le ratio Pixel To Point: essayer 1 (je pense que ça devrait le faire) puis 1.33 (je pense que c'est trop) et autres sinon.
 

Pièces jointes

  • Classeur1B.xlsm
    34.8 KB · Affichages: 2

Discussions similaires

Réponses
3
Affichages
1 K

Statistiques des forums

Discussions
315 109
Messages
2 116 297
Membres
112 715
dernier inscrit
Senoussi72