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 :

Trouver la référence manquante et les fonctions la concernant


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut Trouver la référence manquante et les fonctions la concernant
    Bonjour,

    Quand j'execute mon programme sur certaines machines, ça plante à cause d'une DLL manquante.

    Je suis donc allé dans Outils > Références et j'ai décoché les checkbox "MANQUANT". Et tout fonctionne.

    Le problème, c'est que sur d'autres pc, qui ont aussi des éléments MANQUANT, ça plante. Et, pour des raisons professionnelles, il est impossible de décocher les références concernées.

    Donc dans le code, j'ai rajouté un sub qui décoche automatiquement les références manquantes, sauf que pas de chance, il faut avoir coché "Faire confiance au projet visual basic" pour qu'elle s'execute (et là pour les même raisons, ce n'est pas une solution).

    J'aimerais donc savoir: comment faire pour que ça replante chez moi (oui, question originale), afin que j'isole les problèmes?

    J'ai tenté de remettre des références aléatoirement, puis les supprimer pour qu'elles deviennent "MANQUANT", mais sans succès.

    J'ai eu le temps de voir, pendant que ça plantait, que la référence concernait la fonction Chr(). Mais comment savoir ce que la bibliothèque concernée contient d'autre?

    Une idée?
    Merci

  2. #2
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Hello.

    Ce pb est un classique. Quand tu crées un projet, tu choisis des biblis. Si tu portes ton projet sur une machine qui a une version plus récente de l'applicatif ça se passe généralement bien : les biblis sont mises à jour silencieusement.

    A l'inverse, si tu portes le projet sur une machine dotée d'une version plus ancienne les références ne sont pas mises à jour, mais marquées MANQUANT. Encore qu'il y ait eu dans les dernières mises à jour des progrès à ce sujet pour pas mal de bibli entre XL 2007, 2003 et 2000.

    DOnc si tu as XL 2007, tu ne peux pas créer le pb sur ton poste. Sinon, tu vas sur un poste qui a une version plus récente que la tienne, puis tu reviens sur ton poste. (Il faut bien sûr utiliser des biblis qui ont évolué...)

    Par ailleurs, la fonction Chr appartient à la bibli VBA. Je ne sais pas pourquoi, mais il suffit qu'une bibli soit manquante pour que la bibli VBA parte en vrille. Plus drôle, si au lieu d'écrire Chr(..), tu écris VBA.Chr(...) cela risque de fonctionner.

    En espérant que cela t'aide,

    PGZ

  3. #3
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut
    D'accord, merci. Il me reste plus qu'à réinstaller Excel 2003 pour avoir une chance que ça plante. Ce n'est donc pas possible de créer une référence manquante soit même (genre l'ajouter, et la supprimer)?

  4. #4
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    Citation Envoyé par Anduriel Voir le message
    Ce n'est donc pas possible de créer une référence manquante soit même (genre l'ajouter, et la supprimer)?
    Je ne sais pas faire cela.

    Tu auras quand même noté que si tu mets à jour les biblis sur le poste ayant la version la plus ancienne, tu n'as plus ce pb sur les autres postes.

    Bon dimanche,

    PGZ

Discussions similaires

  1. Trouver les fonctions non appelées
    Par KiwiJaune dans le forum Visual Studio
    Réponses: 3
    Dernier message: 19/01/2010, 14h59
  2. [AC-2003] Quelle référence pour les fonctions de chaînes ?
    Par AndréPe dans le forum VBA Access
    Réponses: 5
    Dernier message: 02/10/2009, 09h41
  3. dossier où placer les références manquantes
    Par schwarzy2 dans le forum VBA Access
    Réponses: 4
    Dernier message: 09/07/2008, 16h03
  4. Où trouver les fonctions précompilés.
    Par _Michel dans le forum Autres éditeurs
    Réponses: 12
    Dernier message: 20/08/2007, 18h54
  5. Où trouver l'aide sur les fonctions de l'API Windows ?
    Par psidonio dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 08/11/2005, 14h28

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