La methode 'open' de l'objet a échoué

Bonjour à toutes et à tous,

j'ai un souci avec une macro qui jusqu'à présent fonctionnait encore. Mais depuis un certain temps, nous sommes confrontés à un souci d'ouverture du fichier

En effet, la macro est sensé ouvrir un fichier mais elle n'y arrive pas. A chaque tentative le message d'erreur est : "la methode 'open' de l'objet a échoué" 1004

ci-dessous une partie de la macro:

Sub calcul()
Dim Dern_ligne_OF, Dern_ligne_art, Dern_ligne_bom As Integer
Dim i, j, k, l, m, p As Integer
Dim ref_compose As String
Dim ref_composant As String
Dim num_of As String
Dim unit As String
Dim at, frn As String
Dim statut As String
Dim qte, coef As Long

ChDir "T:\INDUSTRIEL\PRODUCTION\3_Outil_de_production\Ordo-AT"
Workbooks.Open Filename:="T:\INDUSTRIEL\PRODUCTION\3_Outil_de_production\Ordo-AT\B.04.Ordo_Tolerie_c.xlsm", UpdateLinks:=0

Windows("B.05.Calcul besoin MP-b.xlsm").Activate

Sheets("OF_SAGE").Select
Range("A1").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Sheets("Articles").Select
Range("A1").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Sheets("BOM").Select
Range("A1").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False

Sheets("Calcul besoin").Select

le débogage, nous indique toujours la ligne suivante : Workbooks.Open Filename:="T:\INDUSTRIEL\PRODUCTION\3_Outil_de_production\Ordo-AT\B.04.Ordo_Tolerie_c.xlsm", UpdateLinks:=0

j'ai essayé de réenregistrer le fichier sous un autre nom ,dans un autre dossier et remplacer le nom dans la macro mais il y'a toujours le même message d'erreur

je demande votre aide afin de résoudre le problème merci

Edit Modo : replacé codes en utilisant les balises

Bonjour

Je vois que lorsque vous postez un code vous n'utilisezpas les balises prévues.
Merci d'utiliser les balises de codes en cliquant sur l'icone </> disponible dans le menu et en collant le code dans la fenêtre. Il sera plus facile à lire.

Comme c'est votre premier poste, je le corrige

Pensez à faire une petit présentation--> Ici


Pour votre demande, vérifiez le lien du serveur et le nom de votre fichier
Votre code se trouve dans quel fichier car j'en vois deux là ?
Les feuilles mentionnées sont toutes dans le fichier B.05.calcul ?

NB :
- Ce n'est jamais conseillé d'utiliser les points ou de laisser des espaces dans le noms de fichier. Utilisez le tiret ou le souligné et gardez le point pour l'extension. exemple votre nom comme ceci "B-05-Calcul_besoin_MP-b.xlsm"

- Attention lorsque vous déclarez une variable sans préciser le type, elle est toujours considérée comme de type Variant
Donc lorsque vous écrivez ceci --> Dim qte, coef as long, la variable qte est de type variant et non Long. Vous devez faire ceci --> Dim qte as long, coef as long
avec qte as long si correct.
Idem pour les autres variables

Crdlt

ok c'est noté

pour répondre à la préoccupation qui est :Les feuilles mentionnées sont toutes dans le fichier B.05.calcul ?

le code se trouve dans le fichier B.05

Essayez comme ceci

Sub calcul()
Dim Dern_ligne_OF As Integer, Dern_ligne_art As Integer, Dern_ligne_bom As Integer
Dim i As Integer, j As Integer, k As Integer, l As Integer, m As Integer, p As Integer
Dim ref_compose As String, ref_composant As String, num_of As String, unit As String
Dim at As String, frn As String, statut As String
Dim qte As Long, coef As Long
Dim chemin As String, fichier As String

'ChDir "T:\INDUSTRIEL\PRODUCTION\3_Outil_de_production\Ordo-AT"
'Workbooks.Open Filename:="T:\INDUSTRIEL\PRODUCTION\3_Outil_de_production\Ordo-AT\B.04.Ordo_Tolerie_c.xlsm", UpdateLinks:=0

chemin = "T:\INDUSTRIEL\PRODUCTION\3_Outil_de_production\Ordo-AT\"
fichier = "B.04.Ordo_Tolerie_c.xlsm"
Workbooks.Open chemin & fichier

With ThisWorkbook
    .Sheets("OF_SAGE").Range("A1").ListObject.QueryTable.Refresh BackgroundQuery:=False
    .Sheets("Articles").Range("A1").ListObject.QueryTable.Refresh BackgroundQuery:=False
    .Sheets("BOM").Range("A1").ListObject.QueryTable.Refresh BackgroundQuery:=False
    .Sheets("Calcul besoin").Select
End With

Si cela ne fonctionne pas, faites ceci pour tester
- allez dans le fichier B.O4 Ordo tolerie
- Puis allez dans l'éditeur VBA --> dans Thisworkbook et mettez ce code

Private Sub Workbook_Open()
MsgBox ThisWorkbook.Path
End Sub

- enregistrez votre fichier B.04 puis réouvrez le
- le code vous renverra le répertoire où est placé votre fichier B.04 qui vous permettra de vérifier que le chemin est exact et, si besoin, modifier la variable "chemin" que je vous ai donnée dans mon code avant.

NB : vous avez un paquet de variables là. Toutes sont nécessaires ?

si ok ->

Cordialement

Bonjour,

oui j'en ai besoin

j'ai fait ce que vous m'aviez dit. le chemin est correct mais lorsque j'exécute la macro il est dit que le fichier est introuvable pourtant la macro est juste et le chemin également .

Est ce possible que le fichier soit corrompu ?

si oui que dois je faire?

ou est ce dû, à une utilisation simultanée du second fichier B.04. ordo_tolerie_c.xlsm?

si oui, que dois je faire?

Merci, cordialement

Bonjour

ou est ce dû, à une utilisation simultanée du second fichier B.04. ordo_tolerie_c.xlsm?

1. Cela m'intrigue ce que vous écrivez. Que voulez vous dire ?

2. Quels sont les fichiers ouverts avant de lancer le code ?

je voulais dire le fait que le fichier soit ouvert simultanément par deux personnes. Aussi, que chacun applique des modifications sur le même fichier

le fichier ouvert est le B.04.Ordo_Tolerie_c.xlsm

je voulais dire le fait que le fichier soit ouvert simultanément par deux personnes. Aussi, que chacun applique des modifications sur le même fichier

Là cela peut poser un souci...

La sub calcul se trouve dans quel fichier ?

Si le code vous renvoie que le fichier est introuvable et que votre répertoire est bon, c'est que vous avez un souci sur le nom du fichier.
Mais déjà vous pourriez vérifier que vous avez bien accès au fichier manuellement lorsque quelqu'un d'autre l'utilise.

La sub calcul se trouve dans quel fichier ?
la sub calcul se trouve dans un autre fichier le B.05_Tolerie
la B.04_Tolerie est le fichier associé ou excel doit partir chercher les données, c'est ce fichier qui est toujours ouvert par un autre utilisateur, où celui-ci exécute des modifications

Si vous citer un message d'un post précédent, utilisez l'icone appropriée "citation" ( ' ') pour coller le message. c'est plus clair à lire

c'est ce fichier qui est toujours ouvert par un autre utilisateur, où celui-ci exécute des modifications

Ok et quid de ma question dans mon post précédent ?

La sub calcul se trouve dans quel fichier ?

dans le fichier: B.05.Tolerie_calcul de besoin

l

La sub calcul se trouve dans quel fichier ?

dans le fichier: B.05.Tolerie_calcul de besoin

Oui vous l'avez écrit mais vous ne répondez pas à ma deuxième question

Rechercher des sujets similaires à "methode open objet echoue"