Problème de lecture de dll avec Excel

Thomas COURTOIS - OAKRIDGE 20 Points de réputation
2026-01-15T15:13:59.69+00:00

Bonjour,

J'utilise un vieux dll avec mon Excel qui peut me donner les caractéristiques de l'air humide (PsyDiag : [http://jc.castaing.free.fr/ens/ah/ah3.htm] Merci à Mr [Note du modérateur : informations personnelles supprimées]). A l'aide d'un couple de paramètre parmi les 7 principaux, je peux retrouver tout les autres. Je peux donc utiliser n'importe quel couple de paramètre parmi ces 7 pour avoir le reste.

Le dll a été vérifié avec les données ASHRAE et les résultats sont concordant. Il n'y a rien de mieux qui existe ! Je n'ai rien trouvé qui soit aussi performant (rapide, validé, simple d'utilisation, pouvant être ligné avec Excel, Free).

Cependant, mon entreprise est passé avec un Excel 365 et mon fichier pour lire ce dll me montrait un code faux (alors que ça marchait sur l'ancien ordi et mes collègues continuent à l'utiliser chez EDF... Bref, les mystères de VBA).

J'ai donc regardé pour corriger le problème et il vient de l'import. Mon code initial était :

Public Declare Function jcl_tsth Lib "LienVersDll" _
(ByVal Ts As Double, ByVal th As Double, ByVal pt As Double, _
ByRef s1 As Double, ByRef s2 As Double, ByRef s3 As Double, _
ByRef s4 As Double, ByRef s5 As Double, ByRef s6 As Double, _
ByRef s7 As Double) As Boolean

J'ai compris que maintenant il fallait ajouter "PtrSafe" avant "Function"... La modification est rapide mais pose question sur le changement du langage à chaque nouvelle version de Office... Le code modifié est le suivant :

Public Declare PtrSafe Function jcl_tsth Lib "LienVersDLLl" _
(ByVal Ts As Double, ByVal th As Double, ByVal pt As Double, _
ByRef s1 As Double, ByRef s2 As Double, ByRef s3 As Double, _
ByRef s4 As Double, ByRef s5 As Double, ByRef s6 As Double, _
ByRef s7 As Double) As Boolean

Donc maintenant, on se dirait que ça marche !!!

Mais non, alors que sur les anciens ordi le lien avec le dll fonctionne encore aujourd'hui (des collègues me disent encore l'utiliser !), dans ma boite avec Microsoft 365 rien ne marche...

Pouvez-vous me dire comment utiliser ce dll avec Microsoft 365 ? (Et potentiellement me dire comment ça se fait qu'à chaque fois que l'on essaye de se connecter au chat, il ne marche pas... Et que quand le chat ne marche pas et que l'on téléphone à la hotline, le robot ne nous conduise que sur le chat ?)

Microsoft 365 et Office | Excel | Pour les entreprises | Windows
0 commentaires Aucun commentaire

Réponse acceptée par l’auteur de la question
Kai-L 21,375 Points de réputation Personnel externe Microsoft Modérateur
2026-01-15T16:07:26.8133333+00:00

Cette réponse a été traduite automatiquement. Elle peut donc contenir des erreurs grammaticales ou des expressions inappropriées.

Cher @Thomas COURTOIS - OAKRIDGE,

Merci d'avoir contacté le forum Microsoft Q&A.

D'après mes recherches, il semble que vous rencontriez des problèmes liés à la transition d'Excel 32 bits vers Excel 64 bits. Vous avez correctement identifié la nécessité du mot-clé PtrSafe, mais il est important de noter que ce mot-clé indique seulement à Excel que le code est « sûr » pour une exécution dans un environnement 64 bits. Cependant, il ne rend pas automatiquement la DLL sous-jacente compatible avec Excel 64 bits.

Comme Microsoft 365 s'installe désormais par défaut en 64 bits, de nombreuses DLL plus anciennes (telles que la bibliothèque PsyDiag) ont été compilées en binaire 32 bits. Même avec le mot-clé PtrSafe, vous pouvez toujours rencontrer une erreur « Fichier introuvable » ou « Erreur d'exécution 48 : Erreur lors du chargement de la DLL », même si le chemin d'accès au fichier est correct.

Avant de conclure que le code est erroné, vérifiez si vous utilisez un système 64 bits :

Dans Excel, accédez à Fichier > Compte.

Cliquez sur À propos d’Excel.

Vérifiez la première ligne : « 64 bits » ou « 32 bits ».

Si la mention « 32 bits » apparaît : votre code PtrSafe modifié devrait fonctionner. Dans le cas contraire, assurez-vous que la DLL se trouve dans un dossier tel que C:\Windows\SysWOW64 ou dans le même dossier que votre fichier Excel.

Si la mention « 64 bits » apparaît : cela signifie que vous ne pouvez pas utiliser cette DLL sans disposer d’une version 64 bits fournie par son créateur.

Si votre entreprise exige Excel 64 bits et que la DLL est exclusivement en 32 bits :

Réinstallez Excel en version 32 bits : la plupart des services informatiques peuvent remplacer la version 64 bits de Microsoft 365 par la version 32 bits. Cette dernière offre les mêmes fonctionnalités, mais permet l’exécution d’anciennes DLL. Wrapper/Hors processus : Les utilisateurs avancés créent parfois un « wrapper COM » qui exécute la DLL 32 bits dans un processus distinct, mais sa configuration est complexe.

Concernant votre problème avec le support technique, le support de premier niveau de Microsoft est désormais plus automatisé. Il est donc préférable de les contacter pendant les heures ouvrables pour obtenir une assistance plus rapide.

Par ailleurs, pour ce type de problème, je recommande à l’administrateur général de votre organisation de créer une demande de service auprès du support Microsoft. Un ingénieur du support technique pourra effectuer une session à distance pour examiner la situation, vérifier les configurations du serveur et exécuter les outils de synchronisation nécessaires à la résolution du problème. Si le problème requiert une attention particulière, il pourra être transmis à une équipe spécialisée pour une analyse plus approfondie. Demandez à l’administrateur général de votre organisation de créer une demande de service auprès du support Microsoft afin d’obtenir une assistance technique et des diagnostics avancés. Pour des instructions détaillées sur la procédure à suivre pour obtenir du support, veuillez consulter la page Obtenir du support – Administration Microsoft 365. Si vous ne connaissez pas votre administrateur informatique, veuillez consulter cet article : Comment trouver mon administrateur Microsoft 365 ? - Assistance Microsoft

Pour obtenir de l'aide supplémentaire, veuillez utiliser ce lien afin de trouver le numéro de téléphone du service client Microsoft dans votre région : Numéros de téléphone du service client international - Assistance Microsoft

J'espère que ces informations vous aideront à résoudre votre problème. Veuillez suivre ces étapes et me tenir informé(e). Si le problème persiste, je serai ravi(e) de continuer à vous aider.

Merci de votre patience et de votre compréhension. Si vous avez d'autres questions ou besoin d'aide supplémentaire, n'hésitez pas à me contacter. Dans l'attente de votre réponse.


Si cette réponse vous a été utile, veuillez cliquer sur « Accepter la réponse » et voter pour elle. Si vous avez des questions supplémentaires concernant cette réponse, veuillez cliquer sur « Commenter ».

Remarque : Veuillez suivre les instructions de notre documentation pour activer les notifications par e-mail si vous souhaitez recevoir les notifications relatives à cette discussion.

Cette réponse a-t-elle été utile ?

0 commentaires Aucun commentaire

1 réponse supplémentaire

  1. Thomas COURTOIS - OAKRIDGE 20 Points de réputation
    2026-01-16T07:57:14.17+00:00

    Je suis bien en 64bits sur mon ordinateur...

    Merci pour la réponse, je remarque cependant que au temps de l'IA, microsoft n'est même pas capable de lire un fichier en 32bits... Au lieu de nous ajouter des options permettant d'avoir des pubs partout sur l'ordi, ça serait pas mal de commencer par assurer une continuité dans leurs outils...

    Cette réponse a-t-elle été utile ?


Votre réponse

Les réponses peuvent être marquées comme « Acceptées » par l’auteur de la question et « Recommandées » par les modérateurs, ce qui aide les utilisateurs à savoir que la réponse a résolu le problème de l’auteur.