Bibliothéques(Références)VBA

J

JPM

Guest
Salut le FORUM

Lorsque j'ai développer mon appli j'ai utiliser diverses biblio de références(Menu Outils). A l'ouverture du fichier sur d'autres postes, mon fichier ne fonctionne plus(ma démo est tomber à l'eau!! pas glop).
Message "Projet ou bibliothéque introuvable"
Est-il possible de lister les biblios utilisées et de charger celles qui ne le sont pas.

J'espere que mes explications sont assez claires

MERCI d'avance
 
L

LaurentTBT

Guest
Salut à tous.

Justement, JPM, dans le post suivant:
[http://www.excel-downloads.com/html/French/forum/messages/1_58652_58533.htm]Texte concatene[/url], je me suis bien débattu avec les références.
On peut très bien manipuler les références sous VBA, par l'intermédiaire du code: ActiveWorkbook.VBProject.References, en utilisant les propriétés de Références. On peut ainsi charger des bibli à l'ouverture, dans Workbook_open par exemple.

Le problème, c'est que pour pouvoir utiliser les Objets Reference, il faut qu'une référence spéciale soit déjà cochée: il s'agit de "Microsoft Visual Basic for Applications Extensibility 5.3".
Bref, pour charger une bibli par VBA, il faut d'abord en charger une autre. Et voilà où j'en suis, je ne sais pas si il est possible de forcer par programmation cette première bibli.

Ensuite, si tu charges une certaine biblio par VBA, par exemple, moi j'essayais de travailler sous word depuis excel, en chargeant sa bibli ainsi:
ActiveWorkbook.VBProject.References.AddFromFile "C:\Program Files\Microsoft Office\Office10\MSWORD.OLB"
Nouveau problème: c'est valable sous XP. sous excel98, c'est:
ActiveWorkbook.VBProject.References.AddFromFile "C:\Program Files\Microsoft Office\Office\MSWORD8.OLB"

Donc je suis en train de lancer une recherche du fichier avant.
J'utilise dir "C:\Program Files\Microsoft Office\Office\MSWORD*.OLB"
PB: je ne sais plus comment faire une recherche d'un fichier quand on ne connait pas le chemin d'accés (en effet, selon la version, les répertoires changent, "Office" ou "Office10").

Voilà un bien long post qui malheureusement pose plus de questions qu'il n'en résout.

Je suis bien sûr très preneur de tout complément d'information à ce sujet.

Bonne journée à tous.
Laurent.
 
S

STéphane

Guest
bonjour


regardedans l'aide VBA l'aide sur l'objetVBProjec, puis choisit "voir aussi" pour avoir des infos sur les références.

le code ci-dessous imprime la liste des références "non internes" dans lafenêtre d'exécution et indique si elles sont brisées par "KO"


Set ThisProj = ActiveWorkbook.VBProject
For Each thisref In ThisProj.References
If Not thisref.BuiltIn Then
Debug.Print thisref.Name & IIf(CBool(thisref.isbroken) = True, " : KO", " : OK") 'ThisProj.References.Remove ThisRef
End If
Next
End Sub

tu peux donc essayer d'utiliser un tel code pour les contrôler.
si elles sont brisées, jene sais pas si on peut les réparer (il me semble pas) ou s'il faut les enlever pour pouvoir les recréer.

en tout cas la création peut se faire ac la méthode addfromfile par exemple
 
J

JPM

Guest
ReSalut

Je viens de controler le poste ou çà ne marche pas. Et bien c'est Format qu'il accepte pas.
Sur mon poste j'ai Microsoft Calendar Control 9.0 et sur l'autre c'est Microsoft Calendar Control 8.0 La boullette vient-elle de là ??????

A+
JPM
 
J

jacquesderyes

Guest
Bonsoir JPM et les amis du forum
Cette réponse partielle commence par une question!
Quelle version d'XL utilises-tu?
Ayant essayé de passer de XL2000 a XP j'ai eu beaucoup de soucis qui ont fait que je suis revenu à XL2000.Ton pb vient peu-être de là!
Par exemple
X=format(Y,"dd mm yyyy") passe bien sur XL 2000
mais doit être remplacé par
X=VBA.Format(Y,"dd mm yyyy") !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Sinon j'ai droit au bon vieux message "..........bibliotheque introuvable.

Alors si celà peut t'aider,tant mieux.
Bien amicalement
jacques de ryes
 

Statistiques des forums

Discussions
314 149
Messages
2 106 381
Membres
109 575
dernier inscrit
LucieG24K