IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Compatibilité selon version Office dll perso avec VBA [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 38
    Points : 34
    Points
    34
    Par défaut Compatibilité selon version Office dll perso avec VBA
    Bonjour,

    J'ai développé en VB6 une bibliothèque d'objets qui s'interface avec Excel en visual basic.

    Sur tous mes PC (perso et pro) cela fonctionne sans problème, ainsi que sur environ 50% des autres PC équipés d'Office 2010.

    Malheureusement sur l'autre moitié des PC (dll et application Excel associée diffusée à 3 ou 4 personnes), il y a un message d'erreur et impossible de faire marcher le développement...

    Malheureusement n'ayant pas sous la main de PC qui plante je ne peux pas donner en clair le message mais le plantage intervient sur l'instruction CreateObject.

    => La dll est correctement installée (testée ok avec une petite application indépendante d'office)
    => Elle est présente sous excel dans la liste des références

    Savez-vous s'il y a des différences de compatibilités entre les versions d'Office vis à vis des développements externes ?
    (et accessoirement comment peut-on facilement savoir quelle version d'office 2010 est installée...)
    Y a-t-il quelquechose à faire pour rendre compatibles une dll développée avec vb6 (langage choisi pour la compatibilité meilleure et récupération du code initialement effectué avec VBA) avec toutes les versions office ?
    J'ai essayé d'ajouter un emplacement approuvé pour du code activeX en sélectionnant le répertoire d'install de la dll mais sans succès...


    Merci pour votre aide

    Philoul

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Est-ce que les 50 % d'Excel 2010 (c'est vrai pour 2013 aussi) qui plantent sont des Excel à 64 bits ?

    Tous les anciens contrôles ActiveX à 32 bits doivent être recompilés et/ou adaptés pour fonctionner avec Office 64 bits. Un Excel 64 bits qui n'a pas trouvé de contrôles (COM, Activex, OLE) compatibles 64 bits, désactive le menu des contrôles supplémentaires dans l'IDE VBA.

    Mais comme je n'ai plus VB6 sous la main, je ne sais pas pantoute comment faire cela avec VB6.

    La seule chose que je puis dire, c'est que dans la section Office du site, il y a des documents sur la production de code VBA compatible 64 bits. Une des exigences est la modification de certains appels à l'API Windows, notamment toutes les fonctions qui utilisent des pointeurs. VBA à des constantes de compilation adaptées pour cela.

    Également, les paramètres par défaut d'Excel 2010 (32 et 64 bits) bloquent l'exécution de macros et des "compléments". Il faut modifier des paramètres dans le Centre de gestion de la confidentialité.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 38
    Points : 34
    Points
    34
    Par défaut
    Autant je sais que ma dll fonctionne sur des OS 32 bits et des OS 64 bits, autant j’avoue ne pas avoir pensé à regarder la version d'office sur ce point...

    Je vais vérifier ce point...

    Concernant les paramètres du centre de gestion de la confidentialité, c'est la première chose que j'ai regardé mais même en supprimant toutes les protections rien n'y faisait...

    C'est très vraisemblablement la raison (je n'ai pas d'EXCEL sous la main qui plante, mais tous ceux que j'ai et qui marchent sont des versions 32 bits...)

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utiliser une dll C# avec vba
    Par Dadedi dans le forum C#
    Réponses: 10
    Dernier message: 29/09/2009, 14h15
  2. Réponses: 12
    Dernier message: 27/08/2008, 11h06
  3. redistribution: fichiers DLL, OCX, .. selon version de windows?
    Par Chekov dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 25/11/2007, 11h34
  4. [VB6] DLL ActiveX : Probleme de Compatibilité de versions
    Par ironik dans le forum VB 6 et antérieur
    Réponses: 25
    Dernier message: 06/06/2006, 09h31
  5. Comment recupérer la version d'Excel avec VBA ?
    Par ikoto dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/09/2005, 18h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo