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 :

enregistrement copie d'un fichier


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 23
    Par défaut enregistrement copie d'un fichier
    Bonjour à tous,

    je travaille avec deux fichiers excels :
    ma macro est écrite dans le fichier 1: gestion, et elle me permet d'utiliser le fichier 1 pour remplir le fichier 2: fievide.

    à la fin de cette manip , j'aimerai fermer gestion, sauvegarder une copie de fievide après les modifications apportées sous un nom qui serait un nom d'une variable dans le programme, sans pour autant modifier fievide original qui va etre fermé sans aucune modification.
    tous les fichiers vont etre fermés à la fin.

    voilà une partie de mon programme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
     
    Sub Test()
     
    Dim imm As Long
    Workbooks.Open "D:\Documents and Settings\wboudgui\Desktop\test17juillet\fievide.xls"
    Workbooks("fievide.xls").Activate
    Workbooks("gestion.xls").Activate
     
    ' manipulations faites: réussi...
     
    ' là j'aimerai faire les manip suivantes:
    'fermer gestion
    'enregistrer une copie de fievide sous un autre nom qui serait le nom d'une variable , IMM par exemple,  j'ai utilisé savecopyas mais je crois que j'applique pas la bonne syntaxe car ça engendre tjrs des erreurs
    'fermer fievide original sans modification
     
    End Sub
    merci bien

  2. #2
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    bonjour,
    essaye pour enregistrer gestion

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Workbooks("fievide.xls").SaveAs Filename:= "c:\ton dossier\" & VariableNom
    Pour fermer et enregistrer gestion
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("gestion.xls").close true
    (false pour ne pas enregistrer les modifs)
    Pour fermer fievide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("fievide.xls").close false
    Remarque
    Si tu utilise le saveas fievide n'est plus ouvert il est remplacé par la nouvelle version.
    Autre chose si tu ferme gestion la macro s'arrete (logique) donc fini par ca
    dernière remarque faire 2 activate de suite ne sert a rien seul le dernier des deux est utile (cela fonctionne par récurrence pour 3,4,...)

  3. #3
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 23
    Par défaut
    salut Krovax ,
    merci bcp de la réponse
    en fait j'ai essayé ce code , il me permet de créer un exemplaire du fichier fievide et de l'entregistrer sous le nom de la variable: nomvariable choisi (ici ma variable s'appelle nom )
    mais à la fin de l'excécution du programme, ce nouveau fichier nom reste ouvert , j'ai essayé quelques codes pour le fermer mais ça ne marche pas
    voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
     Workbooks("fievide.xls").SaveAs Filename:="D:\Documents and Settings\wboudgui\Desktop\test17juillet\" & nom
     
     'Workbooks(& nom.xls).Close True : cette ligne ne marche pas, j'ai essayé  Workbooks & imm(".xls").Close True mais ça ne marche pas non plus
     
     Workbooks("gestion.xls").Close False
     Workbooks("fievide.xls").Close False
    merci, @+

  4. #4
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    tu n'as pas vraiment lut mes remarque non?

    si tu ferme gestion la macro s'arrete (logique) donc fini par ca
    le saveas fievide n'est plus ouvert il est remplacé par la nouvelle version.

    Donc fait le save as
    ferme en utilisant le nouveau nom
    ferme gestion

  5. #5
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 23
    Par défaut
    re
    oui oui , en fait j'ai fait ça
    t'as raison , c'était une faute de ma part de mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Workbooks("fievide.xls").Close False
    car fievide est déjà remplacé par le nouv fichier
    mais en fait , comme je débute je sais pas comment enregistrer le nouveau fichier, c'est au niveau de la syntaxe que ça cloche comme il s'agit d'une variable et non pas un nom de fichier constant et défini

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Workbooks("fievide.xls").SaveAs Filename:="D:\Documents and Settings\wboudgui\Desktop\test17juillet\" & nom
     
     Workbooks ( & nom ".xls").Close True
     
     Workbooks("gestion.xls").Close False
    la faute est dans la ligne :
    Workbooks ( & nom ".xls").Close True

    merci bien

  6. #6
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Petit démonstration sur la concaténation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    dim a as string, b as string, c as integer
    a="Mot 1"
    b="Mot2"
     
    msgbox a & b
    msgbox a & "entre mot" & b
    msgbox a & " entre mot " & b
    c=15
    msgbox "on peu aussi concaténer des valeur ici : " & c
    msgbox "Voir meme des calculs 15+9*2=" & c+9*2 & "(en rajoutant un truc dérière si l'on veut)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Workbooks("fievide.xls").SaveAs Filename:="D:\Documents and Settings\wboudgui\Desktop\test17juillet\" & nom & ".xls"
     
     Workbooks ( nom & ".xls").Close True
     
     Workbooks("gestion.xls").Close False

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

Discussions similaires

  1. [XL-2010] Problème lors de l'enregistrement d'une copie de mon fichier
    Par eric4459 dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 31/05/2015, 21h28
  2. Enregistrer une copie d'un fichier dans le même répertoire
    Par Liloo14 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 22/08/2013, 23h05
  3. Copie d'un fichier sans montage avec Samba
    Par jean-jacques varvenne dans le forum Réseau
    Réponses: 5
    Dernier message: 14/07/2005, 11h31
  4. Réponses: 12
    Dernier message: 27/06/2005, 19h06
  5. copie d'un fichier vers un autre serveur
    Par jexl dans le forum ASP
    Réponses: 4
    Dernier message: 20/12/2004, 16h04

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