IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Problème de macro de sauvegarde [XL-2019]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Superviseur en transport
    Inscrit en
    Août 2019
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Superviseur en transport
    Secteur : Transports

    Informations forums :
    Inscription : Août 2019
    Messages : 104
    Par défaut Problème de macro de sauvegarde
    Bonjour,

    Je fais une macro afin de faire un "enregistrer sous" de mon fichier. Le nom de mon fichier est la valeur de la cellule "BE2" de la feuille "Calcule". Quand je lance ma macro, j'ai le message d'erreur
    Erreur d'exécution '1004': La méthode 'SaveAs' de l'objet'_Workbook' a échoué.
    Et la ligne 8 se surligne en jaune. Quand je passe mon curseur sur mon code je remarque de ma variante Nomdeficher n'a que ".xlsm" comme valeur. Que dois-je modifier afin d'avoir le nom désiré?

    Merci d'avance,

    Voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Enregistrer()
    Dim Nomdefichier As String
    Dim Chemin As String
     
        Chemin = "U:\Documents\"
        Nomdefichier = Sheets("Calcule").Range("BE2") & ".xlsm"
        ThisWorkbook.SaveAs Chemin & Nomdefichier, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
     
     
    End Sub

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    Bonjour,

    Je pense que c'est le chemin qui n'est pas bon, ou du moins incomplet.
    Faites l'opération suivante:
    -Ouvrez Excel
    -Développeur- "Enregistrer une macro"
    -Ouvrez un fichier quelconque qui se trouve dans "U:\Documents".
    -Arrêtez l'enregistrement
    -Allez dans le module et récupérez le chemin enregistré et collez-le à la place de "U:\Documents" de votre fichier.
    Essayez

    Cdlt

  3. #3
    Membre confirmé
    Homme Profil pro
    Superviseur en transport
    Inscrit en
    Août 2019
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Superviseur en transport
    Secteur : Transports

    Informations forums :
    Inscription : Août 2019
    Messages : 104
    Par défaut
    Bonjour Arturo83,

    Vous ne croyez pas que l'erreur viendrait du nom de fichier qui semble inexistant?

    Merci,

  4. #4
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    Vous ne croyez pas que l'erreur viendrait du nom de fichier qui semble inexistant?

    Au départ, avant le premier enregistrement, le fichier est bien inexistant, non?

    Avez-vous essayez ce que j'ai proposé?

  5. #5
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 122
    Par défaut
    Salut

    Si la variable Nomdefichier ne contient que ".xlsm", de deux choses l'une.
    Soit la cellule Sheets("Calcule").Range("BE2") est vide
    Soit l'information est dans une autre cellule

    Plusieurs pistes
    Il est préférable de donner un "nom" à la cellule, par exemple "NomFichier". Pour faire ça il faut cliquer sur la cellule à nommer, puis menu "Formule", "gestionnaire de nom". Bouton "Nouveau", tu saisis le Nom ("NomFichier") et tu enregistres

    Dans le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Nomdefichier = ThisWorkBook.worksheet("Calcule").Range("NomFichier").value & ".xlsm"
    Avantage, si la cellule est déplacer, le nom suivra la cellule, les noms sont accessible à partir d'autre page s'il sont configurer en portée classeur (défini lors de la création du nom).


    Plus globalement, regarde du coté de l'extension .xlt et xltm, ce sont les fichiers modèle d'Excel. Le fichier de base ouvre une copie de lui même quand on double-clique sur le fichier pour le lancer, ainsi le modèle ne peut être détruit.


    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  6. #6
    Membre confirmé
    Homme Profil pro
    Superviseur en transport
    Inscrit en
    Août 2019
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Superviseur en transport
    Secteur : Transports

    Informations forums :
    Inscription : Août 2019
    Messages : 104
    Par défaut
    Bonjour et merci pour vos réponses.

    En fait le but de ma macro est d'ouvrir un fichier "master" et de l'enregistrer sous un autre nom. Donc, non, le nom du fichier n'existe pas avant le lancement de la macro.

    Il me faut un fichier par semaine afin d'archiver quel véhicule fessait quoi a cette date et quel chauffeur le chauffait. Auriez-vous une autre approche à me suggérer?

    Merci encore pour votre précieuse aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème sur règle de macro de sauvegarde
    Par flacdomatmut dans le forum VBA Outlook
    Réponses: 20
    Dernier message: 07/07/2014, 13h05
  2. Problème avec logiciel de sauvegarde TapeWare et fichier Mac
    Par boleduch dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 18/04/2008, 08h10
  3. [itext] problème d'ouverture et sauvegarde pdf
    Par kifouillou dans le forum Documents
    Réponses: 27
    Dernier message: 21/02/2007, 10h40
  4. [VBA-E] Problème activation macro
    Par kamshaa dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/02/2007, 17h02
  5. [MS SQL Server 2000] problèmes de sécurité et sauvegarde
    Par Abydos Business Group dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 24/03/2006, 19h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo