Erreur d'éxécution '9' sur Workbook(sheet_name).save

Bonjour,

Je me retrouve avec un cas assez étrange.

J'ai créer une macro (maitre) qui crée un second document (esclave), l'enregistre en .xlsm dans un dossier, travaille dessus, sauvegarde rapide et ferme.

Ce fichier (maitre) fonctionne très bien quand je travaille dessus avec mon PC et avec le PC de mes collègue, mais seulement pour un autre collègue, impossible d'effectuer la sauvegarde rapide (du fichier esclave) avant fermeture. Excel me renvoie une erreur d'éxécution '9' sur la ligne Workbook(sheet_name).save.
Dans mon répertoire, le fichier document.xslm (esclave) est bien créé, le nom n'as pas de caractère interdit et mon document est correct.

Comme je l'ai dit, mon fichier maitre fonctionne très bien sur plusieurs PC sauf ce collègue.

Malheureusement, je ne trouve pas d'option ou conflit qui empêche la sauvegarde.

Je demande donc votre aide.

Bonjour,

Je suppose que vous êtes en réseau, est-ce que votre collègue à les droit d'écrire dans le dossier

A+

Bonjour BrunoM45,

Oui nous sommes en réseau et oui il a les droits d'écriture sur ces dossier.

Re,

A défaut de fichier il faudrait nous donner le code complet pour la sauvegarde

A+

Bonjour,

Je t'envois le fichier contenant le code, j'ai normalement enlevé toutes les informations sensibles. Bon après il s'agit d'un générateur de QCM aléatoire donc rien de grandiose.

Petite particularité, si tu veut qu'il fonctionne il faudra changer le chemin de sauvegarde du fichier (\\bid-filer-p02.ud6.uf6\groupe\IMA - Docs partages\QCM training center\) en un fichier sur ton bureau par exemple. Un simple ctrl+h suffit a adapter le code.

Pour ce qui est de l'utilisation même, j'ai commencé une notice, est ce que tu pourrais me dire ce que tu en pense ?

Même chose pour les commentaires du code.

Pour ouvrir le document, le code est "0000".

Je n'ai mis que trois question dans le QCM dans le cas ou tu veuille tester. Attention elles sont dures.

Cordialement.

Bonjour,

Du coup personne n'as une idée de solution a mon problème ?

Bonjour Hoooodini,

Perso, je n'ai pas eu le temps de me pencher dessus, je ne suis pas magicien moi

Je viens de regarder, le code même s'il fonctionne, est franchement peu conventionnel

Par exemple :

- L'export du module de correction,

- La formation du nom de la feuille

sheet_name = Workbooks("Générateur de QCM - Formation niveau 1.xlsm").Sheets("Pupitre").Cells(nb_part + 7, 2).Value & " " & Workbooks("Générateur de QCM - Formation niveau 1.xlsm").Sheets("Pupitre").Cells(nb_part + 7, 5).Value    'creation du nom du fichier selon le nom du participant
        

ou la la, tout ça me fait vraiment peur...

De plus je vois

Workbooks(sheet_name & ".xlsm") '.Sheets(sheet_name).Activate

Alors pourquoi ne mettre que

 Workbooks(sheet_name) '.Save

Vous auriez déclaré des variables objet pour tous ces classeurs et feuilles, vous seriez nettement moins embêté

A+

Bonjour BrunoM45,

Pour l'export du module de correction, je ne savais pas comment faire autrement pour permettre une fonction de correction indépendante dans les sous-fichier qui sont créés par le fichier maitre.

Quel est le problème avec la formation du nom de la feuille ? Je prend le nom et le prénom du participant pour créer un fichier à son nom...

J'apprend seul le VBA je ne connait pas encore les variables objets... Je vais retourner sur les cours en ligne.

Par "peu conventionnel", qu'est ce que vous entendez de façon générale ?

Cordialement.

Re,

Pour créer des fichiers indépendant du fichier "maitre", on peut utiliser "SaveCopyAs"
pas besoin d'exporter un module comme ça

Je pense que vous confondez Classeur (Workbook) et feuille (Sheet ou WorkSheet)

Quand on veut faire une sauvegarde d'un classeur avec son nom, on utilise le nom complet, y compris l'extension
ce qui à priori n'est pas le cas dans

Workbooks(sheet_name).Save

Quand je parle de "peu conventionnel", c'est que vous exporter des modules, vous n'utilisez pas de variables objet, etc...

Autodidacte c'est très bien, c'est ce que j'ai été, mais il faut apprendre les bases et bouquiner, les tutos en lignes ne suffisent souvent pas

Je pense qu'il y a un gros remaniement à faire

A+

Re,

Le fait de rajouter l'extension dans Workbook(sheet_name).save corrige mon problème. Merci.

Pour l'instant cette macro est fonctionnelle, mais pour mes prochaines macro je me formerais sur les variables objet et plus si vous en avez d'autres à conseiller. Petit a petit j'espere fait des codes propres et foolproof.

L'exportation de module est vraiment si étrange ? Je voulais pas donner accès a toutes les fonctionnalité du fichier maitre.

Quand je disais des cours je parlais par exemple des cours qu'il y a sur ce forum.

Rechercher des sujets similaires à "erreur execution workbook sheet name save"