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 :

Copier des fichiers sans les ouvrir [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Femme Profil pro
    reconversion en cours
    Inscrit en
    Juillet 2009
    Messages
    633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : reconversion en cours
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 633
    Par défaut Copier des fichiers sans les ouvrir
    Bonjour à tous,
    j'ai créé une procédure qui crée des répertoires pour le suivi d'élèves qui doivent y déposer leur travail journalier.
    Je voudrais alimenter chaque répertoire d'un fichier type enregistrer dans nos modèles.

    Actuellement quand on arrive au bon sous répertoire, j'ouvre mon modèle et je l'enregistre sous ledit répertoire, en changeant l’extension.

    Mais vu qu'il y a plus de 25 élèves, qui ont chacun 3 répertoires, ça fait 25X3 = 75 ouvertures / fermetures. C'est un peu long, même si c'est beaucoup plus rapide qu'à la main et sans erreur...

    J'ai comme l'impression qu'il doit y avoir une meilleure façon de faire.

    Est-ce quelqu'un peut m'aider, svp ?

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Va "pêcher" filecopy dans ton aide de VBA. Il y a même un exemple.

  3. #3
    Membre éclairé
    Femme Profil pro
    reconversion en cours
    Inscrit en
    Juillet 2009
    Messages
    633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : reconversion en cours
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 633
    Par défaut
    Bonsoir Clément,
    Merci pour ta réponse ; effectivement ça va plus vite...

  4. #4
    Membre éclairé
    Femme Profil pro
    reconversion en cours
    Inscrit en
    Juillet 2009
    Messages
    633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : reconversion en cours
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 633
    Par défaut
    Bonsoir,
    J'ai crié victoire un peu vite...
    Voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public Const Chem As String = "A:\Oasis\Répertoires Ex\"
    sub...
    Dim Src As String, Destin As String, SessEx As String
            Src = Chem & "ListeDesStagiaires.xlsm"    ' Définit le nom du fichier source.
            Destin = Chem & "ListeDesStagiaires " & SessEx & ".xlsm"    ' Définit le nom du fichier cible.
            FileCopy Src, Destin    ' Copie le fichier source dans le fichier cible.
    ...end sub
    j'ai bien mes chemins
    Nom : Poub1.png
Affichages : 4399
Taille : 2,2 KoNom : Poub2.png
Affichages : 4406
Taille : 2,5 Ko
    et l'erreur 70 d'excel est Permission refusée ! sur la ligne FileCopy bien sur
    De quel droit ? c'est qui qui commande ?

    Trêve d'humour. Qu'ai-je donc fait de mal ? stp.
    Merci

  5. #5
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Cela fait trop longtemps que je n'ai pas utilisé Filecopy et la bibliothèque est sur le point de fermer. Je vais tester plus tard chez-moi et compléter demain. Ceci dit, je ne suis pas sûr que Filecopy permette la modification du nom de fichier durant l'Opération.

    Mais là, tu affrontes aussi l'impossibilité. d'avoir deux fichiers du même nom dans le même dossier.

    Tu peux essayer de faire quelque chose en 3 temps:

    1) Tu fais le Filecopy vers un dossier différent.
    2) Tu renommes ton fichier copié avec la commande Name. De mémoire, cela se fait comme cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Name "c:\copie\machintruc as C:\copie\Machinchouette
    3) Tu refais un Filecopy du fichier renommé vers le dossier original.


    Plus tard, ce soir (il est 16h40, chez-moi), je vais voir si tu ne peux pas t'en sortir en une ligne avec le FileSystemObject. Mais, compte tenu du décalage horaire, cela pourrait prendre du temps avant que je ne revienne.

    Avec un peu de chance, tu vas peut-être avoir une autre réponse, plus tôt.

  6. #6
    Membre éclairé
    Femme Profil pro
    reconversion en cours
    Inscrit en
    Juillet 2009
    Messages
    633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : reconversion en cours
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2009
    Messages : 633
    Par défaut
    Clément,
    Merci de m'avoir répondu.

    je ne suis pas sûr que Filecopy permette la modification du nom de fichier durant l'Opération.
    Dans l'exemple de l'aide, Excel change le nom du fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim SourceFile, DestinationFile
    SourceFile = "FICHSRC"    ' Définit le nom du fichier source.
    DestinationFile = "FICHDEST"    ' Définit le nom du fichier cible.
    ' Copie le fichier source dans le fichier cible.
    FileCopy SourceFile, DestinationFile
    deux fichiers du même nom dans le même dossier.
    Non, je renomme pour changer de nom, il s'agit d'une sauvegarde avant des modifications : dans destin il y a SessEX qui s'inserre dans le nom du fichier.

    Mais là je commence à fatiguer, je ne sais plus où j'en suis.
    Je vais tout fermer et j'essaierai demain au bureau, car il me semble qu'avant d'avoir mis en résolu, j'avais fait un test qui avait fonctionné ; maintenant je ne sais plus si j'ai rêvé...
    Si c'est également ko au bureau j'essaierai ce que tu proposes.
    Bonne fin de soirée

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

Discussions similaires

  1. Impression de fichiers sans les ouvrir
    Par luca.donati dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/01/2013, 16h22
  2. [XL-2010] Copier des cellules ( sans les formules)
    Par PhilGood11 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 14/02/2012, 15h21
  3. [Débutant] Impression auto des fichiers sans les ouvrir
    Par da_latifa dans le forum ASP.NET
    Réponses: 9
    Dernier message: 05/12/2011, 23h31
  4. déplacer des fichiers sans les répertoires
    Par ravaza dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 14/11/2011, 18h13
  5. Réponses: 0
    Dernier message: 11/11/2010, 23h35

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