problème de chargement de DLL

kypassart

XLDnaute Nouveau
Bonjours

voilà j'ai un Userform qui doit ouvrir un autre classeur excel
j'utilise pour cela la fonction workbooks.open filename:= le nom du classeur
mais voila quand je lance la macro il m'indique plusieurs fois problème de chargement de DLL, ouvre quand même le classeur, mais lorsque je veux le sauvegarder j'ai une erreur
(utilisation de excel 2002)

connaissez vous une solution
 

JCGL

XLDnaute Barbatruc
Re : problème de chargement de DLL

Bonjour à tous,

Et si tu déposais ton code qui doit faire appel à des *.ocx ou *.dll ?
Nous pourrions tenter de t'indiquer quel référence il manque....

A+
 
Dernière édition:

kypassart

XLDnaute Nouveau
Re : problème de chargement de DLL

Voilà mon code
l'erreur ce produit au niveau de la ligne rouge

Sub exporter(nom, choix1, choix2, choix3, choix4, choix5, choix6, choix7)
'site="\\hdd01\COMMUN\RESEAU\dossier_site\GECKO\site\"
'sauve="\\hdd01\COMMUN\RESEAU\dossier_site\GECKO\"
site = "C:\Users\olivier\Desktop\GECKO\site\"
sauve = "C:\Users\olivier\Desktop\GECKO\"
drapeau = 0
Set MonBeauWord = CreateObject("Word.Application")
'Set MonBeauWord = New Word.Application
MonBeauWord.WindowState = wdWindowStateMaximize
MonBeauWord.Visible = True
'Création d'un nouveau document :
MonBeauWord.Documents.Add
'Centrage de l'ecriture dans word

'on met le tire en taille 18
MonBeauWord.Selection.Style = MonBeauWord.ActiveDocument.Styles("Titre")
MonBeauWord.Selection.Font.Size = 18
MonBeauWord.Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
'Ecriture dans word du contenu de la variable nom :
MonBeauWord.Selection.TypeText nom
lfound = False
For Each lworkbook In Workbooks
If (lworkbook.Name = nom + ".xls") Then
lfound = True
Exit For
End If
Next
MsgBox lfound
If lfound Then
'MsgBox "dossier ouvert"
Else
Workbooks.Open Filename:=site + nom + "\" + nom
End If

'Workbooks.Open Filename:=site + nom + "\" + nom
MonBeauWord.Selection.TypeParagraph
MonBeauWord.Selection.TypeParagraph
MonBeauWord.Selection.TypeParagraph
MonBeauWord.Selection.TypeParagraph

'ecriture à gauche
MonBeauWord.Selection.ParagraphFormat.Alignment = wdAlignParagraphLeft
MonBeauWord.Selection.Style = MonBeauWord.ActiveDocument.Styles("Titre 2")
MonBeauWord.Selection.Font.Size = 12
MonBeauWord.Selection.TypeText "Index"

'creation du sommaire
With MonBeauWord.ActiveDocument.Bookmarks
.Add Range:=MonBeauWord.Selection.Range, Name:="sommaire"
.DefaultSorting = wdSortByName
.ShowHidden = False
End With

MonBeauWord.Selection.TypeParagraph

MonBeauWord.Selection.TypeParagraph
MonBeauWord.ActiveDocument.Range(Start:=MonBeauWord.Selection.Start, End:=MonBeauWord.Selection.Start). _
InsertBreak Type:=wdSectionBreakNextPage
MonBeauWord.Selection.Start = MonBeauWord.Selection.Start + 1

Call ThisWorkbook.contact(MonBeauWord, nom)
Call ThisWorkbook.itineraire(MonBeauWord, nom)
Call ThisWorkbook.plansite(MonBeauWord, nom)
Call ThisWorkbook.localtech(MonBeauWord, nom)
Call ThisWorkbook.baie(MonBeauWord, nom)
Call ThisWorkbook.baie(MonBeauWord, nom)
Call ThisWorkbook.photobaie(MonBeauWord, nom)
Call ThisWorkbook.schemabaie(MonBeauWord, nom)
If (choix1) Then
Call ThisWorkbook.plageadrip(MonBeauWord, nom)
Call ThisWorkbook.schemareseau(MonBeauWord, nom)
End If
If (choix2) Then
Call ThisWorkbook.routeur(MonBeauWord, nom, drapeau)
End If
If (choix3) Then
Call ThisWorkbook.switchhub(MonBeauWord, nom, drapeau)
End If
If (choix4) Then
Call ThisWorkbook.serveur(MonBeauWord, nom, drapeau)
End If
If (choix5) Then
Call ThisWorkbook.onduleur(MonBeauWord, nom, drapeau)
End If
If (choix6) Then
Call ThisWorkbook.cablage(MonBeauWord, nom)
End If

Call ThisWorkbook.dossier(nom, site, MonBeauWord, choix1, choix2, choix3, choix4, choix5, choix6, drapeau)
Call ThisWorkbook.sommaire(MonBeauWord)

If (choix7) Then
Call ThisWorkbook.sauvegarde(MonBeauWord, nom)
Else
Workbooks(nom + ".xls").SaveAs site + nom + "\" + nom
MonBeauWord.ActiveDocument.SaveAs sauve + "temp\" + nom
'Fermeture de ce document :
MonBeauWord.ActiveDocument.Close
Set MonBeauWord = Nothing
End If


End Sub

Merci d'avance
 

JCGL

XLDnaute Barbatruc
Re : problème de chargement de DLL

Bonjour à tous,

Peux-tu essayer à la place de :

Workbooks.Open Filename:=site + nom + "\" + nom

Workbooks.Open Filename:"site & nom & "\" & nom"

Mais, à mon avis, tu auras d'autres erreurs... si tu utilises +

Pourquoi XL renvoie un message concernant des DLL non chargées ????

A+
 

kypassart

XLDnaute Nouveau
Re : problème de chargement de DLL

Je vient de faire des tests dans un nouveau document
l'erreur toujours la même "erreur de chargement de dll"
voilà le code

dans thisworkbook

sub ouvrir (nom)
site="nom du répertoire parents"
lfound = flase
for each lworkbook in workbooks
if (lworkbook.name =nom & ".xls") then
lfound=true
exit for
end if
next
if (lfound =true) then
else
fichier = site & nom & "\" & nom '& ".xls"
workbooks.open filename:=fichier
end if
end sub

dans feuille 1

il y a un bouton

et voilà le code

private sub commandbutton1_click()
Call thisworkbook.ouvrir("azerty") 'azerty est le nom de mon fichier de test
end sub
 

JCGL

XLDnaute Barbatruc
Re : problème de chargement de DLL

Bonjour à tous,

Tu as mis :

Code:
fichier = site & nom & "\" & nom [SIZE=6][COLOR=red]'[/COLOR][/SIZE]& ".xls"

essaye avec :

Code:
fichier = site & nom & "\" & nom & ".xls"

Code:
 lfound = flase
par
Code:
lfound = False
A+
 
Dernière édition:

kypassart

XLDnaute Nouveau
Re : problème de chargement de DLL

J'ai essayé avec les modifications que m'avez apporté
mais l'erreur est toujours la

j'ai refais mon programme sous excel 2003
et l'erreur ne se produit plus
je commence à me demander s'il n'y a pas un problème dans la fonction open de excel 2002
 

kypassart

XLDnaute Nouveau
Re : problème de chargement de DLL

je ne peu pas appeler la fonction ouvrir un fichier à l'ouverture de mon interface car je doit pouvoir ouvrir un fichier quand je le veut et autant de fois que je le souhait
donc je ne pense pas que d'appeler la fonction ouvrir dans workbook_open fonctionne pour mon application.
 

Discussions similaires