Probleme ouverture fermeture fichier

Bonjour.

J'ai un classeur A (DE2543118) dans lequel j'ai un bonton "SAVE" qui sert à ouvrir un classeur B (DEVIS) afin de sauvegarder un nouveau montant.

Après sauvegarde du nouveau montant, le classeur A ferme automatiquement le B puis sauvegarde son état de fermeture dans un classeur C (accesFichier).

Malheureusement, la sauvegarde l'état de fermeture ne marche pas comme je voudrais, j'obtiens l'erreur "impossible d'acceder au fichier accesTemp" alors que la sauvegarde a quand meme été faite.

Cette erreur fait desfois planter mon codage dans certain cas d'utilisation du fichier.

J'ai donc besoin d'aide pour comprendre pourquoi cette erreur alors que la sauvegarde se déroule quand même bien ?

L'erreur provient de la fonction SaveWbDevisFerme()

Ci-joint les fichiers.

Avant utilisation, la variable cheminFichierDevisPcMaison située dans le module "VariablesGlobales", doit être modifié par rapport à votre PC. Cette variable est à modifier dans les 2 fichiers DE2543118 et DEVIS

Après cela, pour reproduire l'erreur, il faudra ouvrir DE2543118 (en mode ecriture, classeur devis fermé) et cliquer sur le SAVE de la feuille de calcul.

Merci d'avance pour l'aide

8de25-43-118.xlsm (261.95 Ko)
11devis.xlsm (185.55 Ko)

Bonjour teddyBear37

Mis à part le lien du devis qui est resté sur votre drive

Comment on fait pour ouvrir le DE2543118 en mode écriture

J'ai le fichier "devis.xlsm" qui se met en lecture seule à l'ouverture, mais c'est tout ce qui se produit

Salut JExcel.

Il y a normalement un msgbox qui s'affiche directement à l'ouverture pour demander l'ouverture du fichier en lecture seule ou non.

Je pense que tu n'as pas modifié le chemin d'accès des fichiers que tu trouveras dans le module vba VariablesGlobales (variable cheminFichierDevisPcMaison) (modification à faire dans le classeur DEVIS ET DE2543). Le chemin sur mon PC est C:\Users\PC\Downloads\excel pratique\

Les 3 fichiers doivent être dans le meme dossier.

Re,

Il y a normalement un msgbox qui s'affiche directement à l'ouverture pour demander l'ouverture du fichier en lecture seule ou non

Effectivement, ne sachant pas quoi mettre j'ai laissé par défaut en appuyant sur la touche Entrée

Je pense que tu n'as pas modifié le chemin d'accès des fichiers que tu trouveras dans le module vba VariablesGlobales (variable cheminFichierDevisPcMaison)

Bien sûr que si

En vérifiant le code, j'ai modifié

If ActiveWorkbook.Name = "DEVIS.xlsm" Then

Par

 If InStr(1, "devis.xlsm", ActiveWorkbook.Name, vbTextCompare) > 0 Then

Fonctionne, peut importe la casse du nom du fichier, ce qui n'est pas le cas avant

A noter que si je regarde cette ligne de code...

tempPath = cheminFichierDevis + "Temp\accesFichier.xlsx"

le fichier "accessFichier.xlsx" doit à priori se trouver dans un sous-dossier "Temp" et non dans le même dossier que les autres

Pour le reste, je ne sais vraiment pas comment fonctionne l'ensemble et pas envie de prendre du temps pour ça
Un petit mode op. d'utilisation serait le bien venu

JExcel, merci pour ta réponse.

Le code que tu as trouvé (tempPath = cheminFichierDevis + "Temp\accesFichier.xlsx") est sous commentaire dans le vba, l'erreur ne vient pas de là.

Je vais essayer d'être le plus concis et clair possible :

Le mode opératoire :

1 Ouverture du fichier A = DE2543 (fichier B et C fermés)

2 Click sur le bouton Save du fichier A (qui va lancer la fonction save_devis_facture qui a son tour va appeler la fonction MajTtcFichierDevisGarage pour copier le montant TTC du fichier A, dans le fichier B)

MAIS, à chaque ouverture du classer B (DEVIS), la fonction VerifWbDevisDejaOuvert() est lancée (depuis la fonction workbook_open()) pour vérifier si le fichier B etait déjà ouvert ailleurs. Pour cela, la fonction VerifWbDevisDejaOuvert() ouvre le fichier C (accesFichier) et lis la valeur de la cellule E2 pour savoir si le fichier DEVIS est déjà ouvert ou non.

Si fichier DEVIS non ouvert (E2=0), l'actualisation du fichier DEVIS s'effectue jusqu'à obtenir l'erreur que j'ai.

J'ai comme l'impression que l'ouverture/fermeture des fichiers DEVIS et accesFichier se déroulent tellement rapidement que ça crée cette erreur que je n'arrive pas à résoudre

Bonjour,

C'est un peu plus clair avec une explication en partant des valeurs ci-dessous dans le fichier d'accès

image

Lorsque j'ouvre le DE25.43.118.xlsm et que je clique sur le bouton [SAVE]
Je suis navré, mais Je ne rencontre aucun souci particulier, cela me créé bien le PDF et me met à jour le fichier "devis.xlsm"

A+

Salut JExcel.

Est_ce que les 2 fichiers "accesFichier" et "DEVIS" sont bien fermés avant que tu ne cliques sur le bouton SAVE ?

Re,

Oui affirmatif !

Mais après ça dépend peut-être de la config du PC
Car je n'ai qu'un PC plutôt véloce pour tester

image

Ha oui, c'est pas un PC de secretariat ça ^^

Merci pour tes reponses en tout cas, je vais regarder ce côté config matériel

Rechercher des sujets similaires à "probleme ouverture fermeture fichier"