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 :

Exporter des feuilles Excel vers un autre classeur


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 15
    Par défaut Exporter des feuilles Excel vers un autre classeur
    Bonjour,
    J'ai fait un petit tour sur le forum mais je n'ai pas trouvé précisemment ce que je cherche.

    J'ai un ensemble de fichier excel dans un dossier specifique contenant chacun une feuille "Resultat".
    Mon but est de faire une macro qui en ouvrant ce dossier, récupère tous les Sheets resultats des différents classeurs associé au nom de fichier.
    Le tout est de mettre ça dans un autre classeur "Résumé".

    En fait je bloque pour pouvoir lire un dossier fichier par fichier et recupérer son contenu.

    MErci Beaucoup et désolé si cela vous parait trivial.

  2. #2
    Membre éprouvé
    Inscrit en
    Janvier 2007
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Janvier 2007
    Messages : 132
    Par défaut
    Bonjour
    Sinon pour trouver tous les fichiers d'un répertoire, tu peux utiliser ceci
    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
    18
    19
     
    Dim Nom_Fichier as String
    Dim Chemin as String
     
    Chemin =ActiveWorkBook.Path
     
    Set fs = Application.FileSearch
    With fs
        .LookIn = chemin$
        .Filename = "*.xls"
        .SearchSubFolders = False 'ou True si tu veux lire les sous-répertoires
        If .Execute(SortBy:=msoSortByFileName, _
        SortOrder:=msoSortOrderAscending) > 0 Then
            For i = 1 To .FoundFiles.Count
                Nom_Fichier = .FoundFiles(i)
                ....... 'execution de ta procédure de récupération de données
           Next
       End If
    End With
    Slts

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 15
    Par défaut
    Merci beaucoup, je vais tester la macro en y implémentant ma procédure cet apres mimdi et je vous tiens au courant!
    merci encore!

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 15
    Par défaut
    Re bonjour,

    J'aimerai savoir si c'est possible de récupérer dans Nom_Fichier non pas le chemin + nom mais juste le nom .

    Aussi pour ma procédure, est ce qu'il existe une fonction qui importe directement une feuille d'un classeur à un autre ou bien je fais une macro enregistrer copier coller??
    Merci!!

  5. #5
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Bonjour,
    pour copier une feuille dans un autre classeur,
    1°) il faut que les 2 classeurs soient ouvert.
    2°) Sélectionner la feuille qui doit étre copiée, et appliqué la ligne suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("FeuilleAcopier").Copy Before:=Workbooks("ClasseurOuCopier").Sheets(1)
    Ce code copie la feuille au début du classeur 'ClasseurOuCopier'
    Pour copier en dernier,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        a = Workbooks("ClasseurOuCopier").Worksheets.Count
        Sheets("FeuilleAcopier").Copy After:=Workbooks("ClasseurOuCopier").Sheets(a)
    A+
    EDIT:
    dans la macro de plateforme3 tu a ta réponse...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Nom_Fichier = .Filename

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Pour avoir le nom du seul fichier, il me semble que fso propose quelque chose mais là tout de suite...
    Une solution de rechange
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Nom_Complet = Split(.FoundFiles(i),"\")
    Nom_Fich = Nom_Complet(Ubound(Nom_Complet))
    Regarde split dans l'aide

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 15
    Par défaut
    Oui j'était tenter d'utilisé cela mais comme tu peux le voire dans la boucle je ne sais comment recupérer le nom du fichier sans son chemin d'acces.
    Comme il s'agit de plusieurs fichiers dans un dossier je dois faire en sorte de bien distinguer la source et la destination.
    Merci!!

    Merci, je viens de voir ton message juste après mon denrier post.
    j'essaye ça.

    Quand je fais un WorkBooks(Nom_Fich).Activate ou WorkBooks(Nom_Complet).Activate , il met met erreur subscript out of range.

    En fait j'arrive pas a réutiliser les variables nom de fichier pour bosser dessus apres ( copier coller etc)

  8. #8
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Mets-nous ton code, et explique ce que tu veux faire, on ne peut pas répondre en aveugle. Exemple : Veux-tu choisir le fichier à ouvrir ou veux-tu ouvrir tous les fichiers du répertoire ?
    A+

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

Discussions similaires

  1. [WD17] Copier feuille excel vers un autre classeur‎
    Par THOMAS Patrice dans le forum WinDev
    Réponses: 4
    Dernier message: 30/05/2012, 15h17
  2. [XL-2007] exporter les une ligne excel vers un autre classeur excel en vba
    Par Maxim0 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/06/2011, 21h55
  3. [XL-2007] exporter les donnée excel vers un autre classeur excel en vba
    Par aminee1666 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/06/2011, 10h58
  4. Copier des données d'une feuille excel vers plusieurs autres
    Par LeeBamboo dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 25/08/2008, 15h46
  5. Réponses: 4
    Dernier message: 27/04/2007, 12h19

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