Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
Je cherche à automatiser l'enregistrement d'un fichier qui doit tourner sur environ 300 machines avec toutes les configurations et versions d'Excel possible.
Le nom du fichier se calcul automatiquement ainsi que le chemin du repertoire qui est lui aussi variable.
Dans ma macro, j'ai appelé "repertoire" le chemin d'accès qui existe forcément et "NomFichier" le nom du Fichier. Jusque là tout va bien.
Mais quand je cherche à enregistrer le classeur dans son répertoire, je sèche un peu.
En regardant sur le forum j'ai écrit le code :
ActiveWorkbook.SaveAs (repertoire & NomFichier)
mais le problème c'est que le nom du chemin vient s'ajouter dans le nom du Fichier et qu'il ne s'enregistre pas ou je veux.
Re : Chemin enregistre sous et nom du fichier variable
Bonjour le forum,
Alors pour préciser un peux mieux mon problème, ce que je souhaiterai, c'est que le fichier s'enregistre en rajoutant 1 à son numéro d'affaire dans le même dossier que celui ou à été placé le premier fichier, car pour l'instant il part s'enregistrer dans le dossier d'enregistrement prévu par défaut sous PC.
Mon problème c'est que sous MAC je ne rencontre pas ce problème, le fichier s'enregistre déjà dans le même dossier, du coup pour vérifier si ma macro fonctionne c'est pas évident.
Re : Chemin enregistre sous et nom du fichier variable
Salut Julien07,
Il est utile, lorsque l'on développe du code VBA d'utiliser le mode déboggage 🙄
Dans ton code Sur la première ligne autre que "Dim ...", tu appuies sur la touche F9 (Basculer un point d'arrêt), cela te met la ligne en surbrillance.
Ensuite tu fermes l'éditeur VBA et tu appuies sur ton bouton, l'éditeur réapparait en restant bloqué, tu appuies au fur et à mesure sur F8 ce qui fait avancer le code.
Comme ça, lorsque tu mets le curseur de la souris sur un variable d'une ligne déjà traitée, tu as sa valeur !
'Enregistrement au format normal du classeur
ActiveWorkbook.SaveAs (repertoire & "\" & NomFichier)
Là avant d'éxécuter la ligne tu vas dans ta fenètre d'éxécution et tu tapes
Debug.Print repertoire & "\" & NomFichier + ENTREE
Et tu obtiens : "C:\...\Excel\\incident ep_2008_001_001.xls"
Tu as 2 antislash devant le nom du fichier, ce n'est pas possible
Donc dans ton code, il faut mettre tout simplement
Code:
'Enregistrement au format normal du classeur
ActiveWorkbook.SaveAs (repertoire & NomFichier)
Re : Chemin enregistre sous et nom du fichier variable
Salut BrunoM45
Merci de ta réponse, le problème avec ce code c'est qu'il me renomme mon fichier avec l'emplacement du fichier, alors que moi j'ai besoin pour le traitement d'une autre macro que le nom du fichier soit de forme "incident ep_année_insee_numero d'affaire" avec rien devant.
Je fournis le fichier à 300 personnes qui enregistre le fichier ou ils le souhaitent sur leurs bureau, et quand la macro se lance et que le fichier se renomme, je souhaite juste qu'il s'enregistre dans le même dossier que le fichier d'origine.
Merci pour l'astuce des points d'arrêt, le problème c'est que sous MAC ça dois se faire autrement, avec F9 j'ai l'ensemble des pages ouvertes qui apparaissent en réduit sur mon écran, c'est l'outil de navigation entre les fichiers, je vais chercher ailleurs comment on fait, c'est effectivement bien pratique.
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD