Chemin enregistre sous et nom du fichier variable

julien 07

XLDnaute Nouveau
Bonjour tout le monde,

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.

Je vous remercie de votre aide par avance.

Julien
 

julien 07

XLDnaute Nouveau
Re : Chemin enregistre sous et nom du fichier variable

Bonjour Pierrot,

merci pour ta réponse.

Le problème avec ce code c'est qu'il renomme le nom du fichier en :
"chemin/NomFichier"

Alors que moi je souhaiterai que le nom reste "NomFichier" et qu'il s'enregistre dans le dossier qui à pour chemin "repertoire".

Je sais pas si c'est plus clair.

Bonne après-midi

Julien
 

julien 07

XLDnaute Nouveau
Re : Chemin enregistre sous et nom du fichier variable

Bonjour BrunoM45

Je vous transmet mon fichier, désolé si il n'est pas compressé mais je suis sous mac, je n'arrive à compresser.

Il faut dire que c'est un peu mon problème, je développe sous-mac des outils qui doivent fonctionner sur des PC, c'est pas super facile.

Merci de votre aide.

Julien
 

Pièces jointes

  • incident ep_2008_001_001.xls
    45.5 KB · Affichages: 134

julien 07

XLDnaute Nouveau
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.

Merci pour votre aide.

Julien
 
C

Compte Supprimé 979

Guest
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 :rolleyes:
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 !

Cela aurais pu te permettre de voir :
Code:
AncienFichier = Range("macro!B16").Value
repertoire = AncienFichier
variable "repertoire" = "C:\...\Excel\"

Ensuite,
Code:
Nom = Range("macro!B8").Value
NomFichier = Nom
variable "NomFichier" = "incident ep_2008_001_001.xls"

Et ou se trouve le problème tu fais
Code:
'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)

Voilà ;)
 

julien 07

XLDnaute Nouveau
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.

Bonne journée

Julien
 

Discussions similaires

Statistiques des forums

Discussions
312 323
Messages
2 087 301
Membres
103 512
dernier inscrit
sisi235