'Projet ou Bibliothèque introuvable !!!'

cs_inforom Messages postés 36 Date d'inscription mercredi 8 octobre 2008 Statut Membre Dernière intervention 12 avril 2017 - 19 avril 2010 à 20:19
cs_inforom Messages postés 36 Date d'inscription mercredi 8 octobre 2008 Statut Membre Dernière intervention 12 avril 2017 - 20 avril 2010 à 09:36
Bonsoir

J'ai filé à un client un petit programme VBA dans un classeur EXCEL...

Rien de très compliqué, sauf qu'il utilise CDO pour envoyer un mail, et une dll perso (simplement citée dans Declare...)

A l'ouverture d'un userform ça se plante sur l'instruction:
CDLIC=Format(Date,"DD/YY/YYYY")
avec le message:
"Projet ou bibliothèque introuvable"
et 'Date' est surligné !!!!! (CDLIC est simplement le nom d'un TextBox)

Je lui ai fait regarder les références... rien n'est mannquant...
Il est comme moi sous OFFICE 2003
Je n'ai pas déclaré de variable nommée Date dans le projet
Je jure que je n'ai pas de fonction Date dans ma Dll (sauf que de toute façon ça m'étonnerait que ça gêne VBA si je ne la déclare pas)...

... et que j'étais normalement sobre lorsque je l'ai écrit !

ALORS....
Quelqu'un peut-il me dire s'il y a des cas tordus où on a ce comportement!

Merci d'avance

InfOrom

4 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
19 avril 2010 à 23:25
Salut
Ce que tu expliques arrive souvent lorsqu'une de tes fonction ou Sub porte le même nom qu'une fonction du langage.
Vérifie si tu n'aurais pas utilisé Format comme nom de vraible, de sub ou de fonction.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
cs_inforom Messages postés 36 Date d'inscription mercredi 8 octobre 2008 Statut Membre Dernière intervention 12 avril 2017
20 avril 2010 à 07:55
Merci Jack

Je ne pense pas que ce soit ça... d'ailleurs, sur mon ordi, tout fonctionne comme il faut, bien sur (sinon je pourrais déboguer facilement).

Mais hier soir j'ai eu un doute. On avait modifié la référence à CDO (il est sous Windows 2000), et finalement il se peut qu'il n'ait pas réellement décoché l'ancienne. Je lui ai fait rajouter la bonne (cdosys) et certainement qu'il reste celle à CDO 1.21 manquante....

A mon avis, même s'il a tout ce qu'il faut, le fait qu'une référence soit manquante risque de provoquer le pb quand même... Je pensais que cela n'avait pas d'importance à partir du moment où il a résolu toutes ses références, mais maintenant je me dis que c'est le processus de compilation qui s'est arrêté, tout simplement.

J'ai envoyé un message au client dans ce sens, j'aurai sa réponse ce soir certainement.

Alors, il reste peut-être une autre question subsidiaire: si j'envoie la DLL à laquelle je fais référence dans le projet et qu'il fait 'Parcourir' pour la sélectionner, est-ce que cela suffirait, ou bien faut-il obligatorement l'enregistrer ?

Merci à ceux qui auront facilement une réponse, mais ne vous prenez pas trop la tête car de toute façon je vais pouvoir me débrouiller... d'après tout ce que j'ai lu il y a 99% de chances que ce soit ça, le pb


InfOrom
0
Calade Messages postés 1207 Date d'inscription dimanche 20 avril 2003 Statut Membre Dernière intervention 4 juin 2016 10
20 avril 2010 à 09:19
Bonjour,

Pour ton problème, j'avais eu le même et l'explication de Jack était la bonne.

Par contre le fait que ce soit le mot Date qui soit surligné ne signifie rien, cela m'est arrivé il y a peu (et sur Date aussi) pour une référence à MS Outlook et MS Word ainsi que pour des DLL persos, donc ne t'appesantit pas sur le mot indiqué, mais dans les Références, celles absentes sont indiquées "MANQUANT: " donc bien visible.

Pour envoyer la DLL manquante par mail, vérifie qu'elle soit libre de droit ou que ton correspondant possède la licence idoine, qu'elle ne possède pas elle-même des références manquantes (références en cascade).

Sinon l'inscrire via le bouton parcourir de l'IDE VB6 devrait suffire si mes souvenirs sont bons (je veux dire une fois pour toutes), à vérifier.



Calade
0
cs_inforom Messages postés 36 Date d'inscription mercredi 8 octobre 2008 Statut Membre Dernière intervention 12 avril 2017
20 avril 2010 à 09:36
Merci bien

En l'occurrence il s'agirait de la dll de CDO. Pour permettre à mon client d'exploiter mon logiciel sur des ordinteurs distincts, je vais envoyer une copie de la dll que j'ai, à installer à un endroit bien précis en dur, avec la référence déja prête dans le projet...

Ca me plairait de résoudre cette affaire une fois pour toutes car le cas de CDO est un cas typique, où on a soit l'une soit l'autre DLL, soit aucune, en fonction du système et de la version d'OFFICE... C'est galère

(par ex, pour ADO, moi je conserve toujours la référence à ActiveX Data Objects 2.5, qui est a priori présente partout... et en tout cas j'ai un vieux setup d'installation de Microsoft que je garde bien au chaud)..!

Je ferai les essais à la première occasion... et j'essaierai d'en rendre compte afin que la question soit réglée

En tout cas merci pour les réponses et , encore une fois Merci AU SITE!

InfOrom
0
Rejoignez-nous