Sauvegarder une feuille d'un classeur dans un fichier spécifique

Salut tout le monde :) Ca fait 2 jours que je galére sur mon fichier faut croire que je suis encore débutante avec VBA. J'aurais besoin de votre aide precieuse. Je veux en appuyant sur le boutton enregistrer sauvegarder la feuille (Junior1) dans un fichier specifique T:\Production\Gilles\Evaluation\Evaluation junior 1 et nommer se fichier avec le nom de la personne càd prendre la valeur des cellules C3:E3 et aussi d'empecher la sauvegarde si le nom n'est pas inscrit avec un msgBox. Je suis rendu à pouvoir enregistrer mais sans pouvoir changer le nom du fichier et du coup je ne peux plus sauvegarder une 2eme fois car le fichier existe deja (meme nom). Merci d'avance :))) je vous laisse mon fichier ci joint pour mieux comprendre mon besoin

12do-tech-forms2.xlsm (97.63 Ko)

Bonjour,

Dans l'état actuel des choses, votre programme qui fonctionne très bien sauvegarde au bon endroit le fichier Junior1.xlsx que vous avez mis dans le dur avec Worksheets("Junior1").Name.

Si le fichier Junior1.xlsx existe déjà, je vous propose une sauvegarde automatique en junior_x.xlsx ou x est le nombre de fichiers trouvés dans le dossier de sauvegarde commençant par junior1. Ainsi le deuxième fichier s'appellera junior1_2.xlsx et le 3e junior_3.xlsx

Bonjour Optimix :)

Ce que je veux c'est de sauvegarder le fichier à chaque fois avec le nom de l'employé.

Où sont les noms des employés et comment les sélectionne-t-on ?
Que doit-on faire s'il existe déjà un fichier au nom de l'employé ? On, l'écrase ou on en ajoute un ?

Les noms d'employé on va les rentrer à chaque fois. On n'est supposé avoir deux noms pareils mais au cas ou ca arrive on le rajoute en plus.

Dernière question :

Vous avez mis dans le dur :

ActiveWorkbook.SaveAs "T:\Production\Gilles\Evaluation\Evaluation junior 1\" & Worksheets("Junior1").Name

Je vois une première difficulté : comment associer l'onglet "Junior1" au sous-dossier "Evaluation junior 1" ?

Autrement dit, dans quel dossier faut-il sauvegarder le fichier si l'employé s'appelle Martin par exemple ?

Hello . Pour répondre à ta question il fait le sauvegarder dans évaluation junior 1

Donc voila j'ai pu regler mon probléme.

Worksheets("Junior1").Copy
ActiveWorkbook.SaveAs "T:\Production\Gilles\Evaluation\Evaluation junior 1\" & [C3].Value
ActiveWorkbook.Close

Merci pour l'aide quand meme

ActiveWorkbook.SaveAs "T:\Production\Gilles\Evaluation\Evaluation junior 1\" & Sheets("Junior1")
ActiveWorkbook.SaveAs "T:\Production\Gilles\Evaluation\Evaluation junior 1\" & [C3].Value
ActiveWorkbook.SaveAs "T:\Production\Gilles\Evaluation\Evaluation junior 1\Junior1"
ActiveWorkbook.SaveAs "T:\Production\Gilles\Evaluation\Evaluation junior 1\" & Sheets(3).Name

donnent exactement le même résultat et ne règle rien.

Essayez plutôt de vous inspirer de ce code :

15do-tech-forms2.xlsm (91.26 Ko)

Bonjour Optimix. J'ai essayé ça marche pas de mon coté :( Par contre ce code marche ActiveWorkbook.SaveAs "T:\Production\Gilles\Evaluation\Evaluation junior 1\" & [C3].Value et il m'enregistre la valeur de la cellule C3 exactement ce que je voulais.

Pourtant ça marche chez moi. On peut avoir une copie d'écran de l'erreur ?

Salut Optimix :) Désolé du retard j'ai pas vu ton message. J'ai pas de messages d'erreur sauf que le fichier ne s'enregistre pas.

Rechercher des sujets similaires à "sauvegarder feuille classeur fichier specifique"