Autres pointToPixel

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

patricktoulon

XLDnaute Barbatruc
Bonsoir a tous
je le dépose là car je pense que ca va intéresser plein de monde et je pense à @Dudu2 surtout
ayant changé d'ecrans hier et ayant pourtant la même plaque de diag 109 (55pouces)
window me fait des misères depuis tout a l'heure je n'arrivais pas à re regler tout comme avant

et en fait ca m'obligeait a me mettre en zoom 150 pour pouvoir lire a 2.5 mettre la fenêtre du vbe
hors quand on zoom le rapport DPI change du coup les calculs dans le vbe pour le point/pixel change

et bien figurez-vous qu'après avoir essayé toutes les solutions proposé par chat gpt la derniere a marché
et même mieux

si vous cherchez des grand débats avec @patricktoulon et @Dudu2 vous trouverez des discussion au sujet de la conversion point pixel

moi lui disant que zoom 100 , 125 , 150 mon coeff point pixcel restait 0.75 tandis que les autre passait a 0.66 pour 125 etc....

et bien la raison elle est toute simple
il faut empecher excel de suivre le dpi windows

Pour cela une seule chose a faire
il faut modifier le manifeste de excel qui est modifié des que vous branchez un ecran.
il se trouve dans le dossier du programme office il s'appelle ECEL.exe.manifest
il faut mettre le dpiaware a false

XML:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <noInherit></noInherit>
    <assemblyIdentity version="11.0.0.0" processorArchitecture="*" name="excel" type="win32"></assemblyIdentity>
    <description>Microsoft Excel</description>
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
        <security>
            <requestedPrivileges>
                <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
            </requestedPrivileges>
        </security>
    </trustInfo>
    <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
        <application>
            <!--The ID below indicates application support for Windows 7 -->
            <supportedOS Id="{blablabla-blablabla-blablabla-blablabla}"></supportedOS>
        </application>
    </compatibility>
    <asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
        <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
            <dpiAware>false</dpiAware>
        </asmv3:windowsSettings>
    </asmv3:app
 
Bonjour @patricktoulon,
Ce que tu appelles Zoom c'est la mise à l'échelle de l'affichage ?
Ok, modifié le dpiaware à false.
Selon l'échelle chez moi à 125 -> 0,6 / 1,66666666666667 et à 100 -> 0,75 / 1,33333333333333
Donc ça semble pareil qu'avec dpiaware à true.
Je ne comprends pas la différence même si je vois bien la différence sur la grille Excel (mais QUE sur la grille étrangement):
dpiaware = false <------------------------------------------------> dpiaware = true
1765083449736.png
1765083974660.png
 
Dernière édition:
Salut,
y-a-t-il un copilot dans l'avion ? :

🔎 Contexte : DPI Awareness dans Excel​

  • Avant Office 2016 : Excel et les autres applis Office n’étaient pas pleinement DPI-aware. Sur les écrans haute résolution, l’interface pouvait apparaître floue ou mal proportionnée.
  • Depuis Office 2016 : Excel est Per-Monitor DPI Aware. Cela signifie qu’il ajuste son rendu quand tu déplaces la fenêtre sur un écran avec un facteur de zoom différent (ex. passer de 100 % à 150 %).
  • Compléments et contrôles : Les add-ins, taskpanes et contrôles ActiveX ne sont pas automatiquement DPI-aware. Ils héritent souvent d’un mode SystemAware (fixé à 96 DPI), ce qui peut provoquer des décalages ou du flou.

⚙️ Modes DPI Windows​

Excel peut fonctionner sous différents contextes DPI :
  • SystemAware : rendu figé à 96 DPI, adapté uniquement à l’écran principal.
  • PerMonitorAware : Excel ajuste dynamiquement son interface selon l’écran.
  • PerMonitorV2 : version améliorée, gère mieux les changements de DPI en cours d’utilisation.
👉 Excel 2016+ utilise PerMonitorAware, mais tes compléments doivent être explicitement configurés pour suivre ce mode.

🛠️ Pour les développeurs (VBA / VSTO / COM)​

  • VBA natif : les formulaires UserForm ne sont pas automatiquement DPI-aware. Tu dois recalculer tailles et positions en fonction du DPI (GetDeviceCaps, GetDpiForWindow).
  • VSTO / COM Add-ins : il faut déclarer la DPI awareness dans le manifeste (<dpiAware>true</dpiAware> ou <dpiAwareness>PerMonitorV2</dpiAwareness>).
  • ActiveX Controls : souvent créés en mode SystemAware → il faut gérer manuellement le redimensionnement pour éviter le flou.

⚖️ Points importants​

  • Excel lui-même est DPI-aware depuis Office 2016.
  • Tes compléments ne le sont pas automatiquement : tu dois gérer la mise à l’échelle.
  • Risques si non géré : interface floue, boutons trop petits ou décalés, mauvaise expérience utilisateur.
  • Solution : utiliser les API Windows pour récupérer le DPI courant et adapter dynamiquement les tailles/positions.
👉 En résumé : Excel est DPI-aware, mais tes macros VBA ou add-ins doivent être adaptés manuellement pour suivre la mise à l’échelle.
Veux-tu que je te montre un exemple concret en VBA qui récupère le DPI courant et ajuste automatiquement la taille d’un UserForm pour qu’il reste net sur un écran 4K avec scaling 150 % ?
Sources :
il y a une différence entre les menus et la grille
Oui, tu as bien remarqué 👀. Dans Excel, il existe une différence importante entre la façon dont les menus/rubans et la grille (les cellules) gèrent le DPI et la mise à l’échelle :

🖥️ Menus, ruban et interface​

  • DPI-aware complet : depuis Office 2016, les menus, rubans, boîtes de dialogue et icônes sont rendus en haute résolution.
  • Mise à l’échelle fluide : si tu passes de 100 % à 150 % ou 200 %, l’interface s’adapte immédiatement (Per-Monitor DPI Awareness).
  • Résultat : menus nets, proportionnels, sans flou, même sur écrans 4K ou multi-écrans.

📊 Grille (cellules, contenu)​

  • Comportement différent : la grille est rendue par le moteur graphique interne d’Excel, qui reste basé sur des unités logiques (points → pixels).
  • Impact du scaling : les largeurs de colonnes et hauteurs de lignes sont calculées en points, puis converties en pixels selon le DPI.
  • Conséquence :
    • À 100 % (96 DPI), une cellule de 12 points ≈ 16 pixels.
    • À 150 % (144 DPI), la même cellule ≈ 24 pixels.
  • Effet visible : la grille peut sembler plus “grossie” ou différente par rapport aux menus, car elle suit une logique typographique (points) et non purement graphique.

⚖️ Résumé​

ÉlémentUnité de baseRendu DPIEffet scaling
Menus / RubanPixelsDPI-awareAdaptation fluide, net
Grille / CellulesPoints (convertis en pixels)Conversion dépend du DPITaille varie selon scaling
👉 Donc oui : les menus sont rendus directement en pixels avec scaling natif, tandis que la grille est calculée en points puis convertie en pixels, ce qui explique la différence de comportement et parfois de rendu.
Veux-tu que je te prépare un exemple chiffré montrant comment une police de 11 points et une largeur de colonne standard se traduisent en pixels selon différents niveaux de mise à l’échelle (100 %, 125 %, 150 %, 200 %) ?

nullosse de passage
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour