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 :

"Save as" dans une location autre que le fichier où est enregistré le code


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut "Save as" dans une location autre que le fichier où est enregistré le code
    Bonjour,

    je n'arrive pas à obtenir le path d'un fichier autre que celui où la macro est enregistrée.

    En effet, j'ai fait un code dans un fichier particulier (fichier aa, dans mon drive C: ), code que je veux utiliser pour mettre à jour toute une série de fichiers 1 à N qui eux sont sur un drive B: partagé. (je ne sais pas si ce détail compte).

    Avec le code suivant, le fichier est enregistré sur mon disque C:, plus précisément à l'endroit où est situé le fichier aa; pourtant je lance la macro depuis le fichier 1, c'est donc celui -ci qui devrait être "active"...?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    'saving as new file:
     
    1.    ChDir ActiveWorkbook.Path
    2.    xxx = ActiveSheet.Range("J3")
    3.    filename = xxx & "-0607.xls"
    4.    ActiveWorkbook.SaveAs filename:=filename
    J'espère que ma question est assez claire, merci beaucoup par avance de votre aide !

  2. #2
    Membre chevronné Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Points : 1 900
    Points
    1 900
    Par défaut
    bonjour

    Ce n'est pas parceque tu lances une macro d'un classeur que celui-ci restera actif.........

    je m'explique, si au cours de ta macro, tu actives ou tu selectionnes un autre classeur, ta macro continuera à fonctionner et pourtant à la fin le classeur actif, n'est pas celui que tu penses

    je te conseil d'ajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    workbooks("nomduclasseur.xls").activate
    sinon
    Thisworkbook.saveas filename:="C:\chemin\" & nomfichier
    de plus tu risques d'avoir des problemes a force d'utiliser des mots resevés comme nom de variable : filename

    bon apres midi

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    je vois! Merci de ta réponse.

    d'abord je vais changer ma variable filename dans ce cas;

    l'ennui par rapport à ta solution, c'est que je veux justement pouvoir appliquer cette macro à de nombreux classeurs, sans avoir à retaper le nom du classeur à chaque fois à l'intérieur du code. Cela n'est peut-être pas possible?

  4. #4
    Membre chevronné Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Points : 1 900
    Points
    1 900
    Par défaut
    re:


    thisworkbook.saveas filename = thisworkbook.path & "\" & ActiveSheet.Range("J3") & "-0607.xls"
    Cette commande sauvegardera sur le repertoire du classeur actif le fichier sous le nom qui se trouve dans la feuille active à la cellule J3 + "-0607"

    bonne journée

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    merci beaucoup!

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/04/2010, 13h58
  2. Réponses: 1
    Dernier message: 01/07/2009, 17h41
  3. Réponses: 10
    Dernier message: 20/02/2009, 11h25
  4. Réponses: 1
    Dernier message: 15/08/2005, 19h38

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