XL 2016 Erreur 438 lors de l'ouverture d'un fichier Excel sur un répertoire réseau.

Stephane21

XLDnaute Nouveau
Bonjour à tous,

J'ai réalisé un fichier Excel avec des formes.
J'ai affecté des macros à chacune de ses formes afin d'aller chercher des documents (Word et Excel) sur différents dossiers d'un réseau.
Tous les fichiers Word s'ouvrent sans problème, les fichiers Excel fonctionnaient hier et aujourd'hui j'ai l'erreur 438 (Propriété ou méthode non gérée par cet objet).

Sub Devis()

Dim MonApplication As Object
Dim MonFichier As Object


Set MonApplication = CreateObject("Excel.Application")
Set MonFichier = MonApplication.Documents.Open("\\xxxxxxxxxxxxxxxxx\Devis_Ouvrages.xlsx")

MonApplication.Visible = True
MonApplication.Activate

End Sub

Si quelqu'un a une idée, je suis preneur.

Merci d'avance
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Ce serait pour moi, je cocherais la référence Microsoft Word 16.0 Object Library
et je mettrais :
VB:
Sub Devis()

Dim MonApplication As Word.Application
Dim MonFichier As Word.Document


Set MonApplication = New Word.Application
Set MonFichier = MonApplication.Documents.Open("\\xxxxxxxxxxxxxxxxx\Devis_Ouvrages.xlsx")

MonApplication.Visible = True
MonApplication.Activate

End Sub
Excel.Application n'a pas de collection Documents
 

Stephane21

XLDnaute Nouveau
Bonjour.
Ce serait pour moi, je cocherais la référence Microsoft Word 16.0 Object Library
et je mettrais :
VB:
Sub Devis()

Dim MonApplication As Word.Application
Dim MonFichier As Word.Document


Set MonApplication = New Word.Application
Set MonFichier = MonApplication.Documents.Open("\\xxxxxxxxxxxxxxxxx\Devis_Ouvrages.xlsx")

MonApplication.Visible = True
MonApplication.Activate

End Sub
Excel.Application n'a pas de collection Documents

Bonjour et merci pour l'aide, malheureusement, j'ai le message d'erreur Erreur de compilation, Type défini par l'utilisateur non défini. Cette erreur surligne :
MonApplication As Word.Application
 

Stephane21

XLDnaute Nouveau
Cette macro avec Word fonctionne très bien et je précise que celle d'Excel fonctionnait hier. Je n'ai rien fait de plus à part éteindre mon ordi hier soir et l'allumer ce matin.

Sub BDC()

Dim MonApplication As Object
Dim MonFichier As Object


Set MonApplication = CreateObject("Word.Application")
Set MonFichier = MonApplication.Documents.Open("\\xxxxxxxxxxxxxx\Bon de commande.dotx")

MonApplication.Visible = True
MonApplication.Activate

End Sub
 

Dranreb

XLDnaute Barbatruc
Vous avez juste oublié de faire la 1ère chose que j'avais dite: cocher la référence Microsoft Word 16.0 Object Library. C'est le fichier correspondant à cette référence qui contient la définition d'un objet Word.Application. Votre Sub BDC devrait toujours fonctionner, mais bien sûr la Sub Devis ne le pourra jamais, en aucun cas, puisque comme je le disais: Un objet Excel.Application ne possède pas de collection Documents.
 
Dernière édition:

Stephane21

XLDnaute Nouveau
"Cocher la référence Microsoft Word 16.0 Object Library. C'est le fichier correspondant à cette référence qui contient la définition d'un objet Word.Application"
Pourrais-tu m'expliquer comment je peux faire ça? je débute est j'ai encore beaucoup de lacunes
Merci d'avance
 

Stephane21

XLDnaute Nouveau
Bonjour,
J'ai coché la case dans les références mais j'ai un nouveau message d'erreur :
Erreur exécution 5792
Le fichier apparemment endommagé.

Cela vient peut être du fait de ma connexion, ce jour, en télétravail.
Je referai le test mardi.

Merci pour ton aide et je reviens vers mardi pour les news.
 

Dranreb

XLDnaute Barbatruc
Provoque une erreur de compilation chez moi: Utilisation incorrecte de la propriété.
Mais je ne comprends plus rien à ce que vous voulez faire. Si c'est un fichier Excel que vous voulez ouvrir faites simplement Workbooks.Open "\\xxxxxxxxxxxxxxxxx\Devis Ouvrages.xlsx"
Si c'est un Word j'aurais mieux compris ThisWorkbook.FollowHyperlink suivi du nom du fichier
 

Stephane21

XLDnaute Nouveau
Provoque une erreur de compilation chez moi: Utilisation incorrecte de la propriété.
Mais je ne comprends plus rien à ce que vous voulez faire. Si c'est un fichier Excel que vous voulez ouvrir faites simplement Workbooks.Open "\\xxxxxxxxxxxxxxxxx\Devis Ouvrages.xlsx"
Si c'est un Word j'aurais mieux compris ThisWorkbook.FollowHyperlink suivi du nom du fichier
Bonjour et merci pour l'aide.
C'est effectivement l'ouverture de fichiers Excel sur un répertoire réseau que je souhaitais faire.
Maintenant ça marche grâce à la commande : Workbooks.Open, Merci

Il faudra à l'avenir que je sois plus précis sur ma demande :D
 

Discussions similaires

Statistiques des forums

Discussions
312 676
Messages
2 090 804
Membres
104 670
dernier inscrit
Djnic30