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 :

Récupérer 1 même cellule de fichiers et les regrouper dans un seul


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 6
    Points : 7
    Points
    7
    Par défaut Récupérer 1 même cellule de fichiers et les regrouper dans un seul
    Voila le problème:

    Chaque jour je traite des données qui me donne divers résultats souhaités.
    Je sais également récupérer un résultat d'une cellule pour le réutiliser dans un autre fichier.
    Par contre cette fois la donne est différente.
    Je dois faire la moyenne sur les résultats de plusieurs jours.
    Sachant que j'ai un fichier de résultats par jour me donnant dans une Cellule (AE16 dans mon cas et toujours la meme puisque c'est le meme modele xls chaque jour qui est utilisé) la donnée a traiter et que je dois coller toutes ces données les unes apres les autres pour apres en faire: moyenne, ecart type, etc. je me demandais comment faire et n'arrivant pas à écrire une macro convaincante, je fais table rase et fait appel à vous!!!

    COMMENT FAIRE:
    j'ai dans un dossier X fichiers (meme si je dois préciser moi dans la macro la valeur de X c'est pas un blem, je tiens pas à ce qu'il trouve seul le nombre de fichiers dans le dossier) et j'aimerais récupérer une série de cellules (AE14 -> AE19) de chacun de ces fichiers pour les aligner par colonnes colonnes (les AE14 dans la colonne B, AE15 dans la C, etc.).
    JE me retrouverais donc avec sur chaque ligne une journée et mes données dans chaque colonne que je pourrais traiter facilement.


    JE sais que je pourrais faire un simple copier/coller de chaque jour mais bon, comme j'ai environ 6mois à traiter d'un coup, si je pouvais m'éviter environ 180 ouvertures, copier, coller, fermeture ...ça serait pas mal!

    MERCI A vous d'avance!
    salutations!

  2. #2
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 239
    Points : 307
    Points
    307
    Par défaut Cancatainer des fichiers
    Voici un début pour récuperer les valeurs dans l'ensemble des fichiers d'un répertoire choisi.
    J'ai déja travaillé sur un problème identique , je te communique le tout sans trop de contrôle.


    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
     
     
    Sub cancatenation_fichier()
     
     Set fs = CreateObject("Scripting.FileSystemObject")
     
    Set fichier_recolement = Workbooks(ActiveWorkbook.name).Worksheets(ActiveSheet.name)
     
     
     ligne_fichier_recolement = 2  ' on comment à la ligne 2
     
     
    Set ret = Application.FileDialog(msoFileDialogFolderPicker)
            With ret
            .AllowMultiSelect = False
            .Title = "Choisir le répertoire contenant les fichiers à collecter"
             .Show
     
         If .SelectedItems.Count > 0 Then
                 Mon_repertoire = .SelectedItems(1)
                  Set f_Dir = fs.getfolder(Mon_repertoire).Files  ' f_Dir renvoi la collection des noms de fichier présent dans le G_repertoire quelque  soit le type de fic excel ou autre .
     
                For Each Fichier In f_Dir
                   If InStr(1, Fichier.name, ".xl") > 0 Then   ' on peut mettre d'autres tests sur le nom
     
                     Workbooks.Open Mon_repertoire & "\" & Fichier.name, UpdateLinks:=0, ReadOnly:=True
     
                   col = 2
                    fichier_recolement.Cells(ligne_fichier_recolement, 1).Value = Fichier.name
     For Each cellul In Range("A14:A19").Cells
     
                   fichier_recolement.Cells(ligne_fichier_recolement, col).Value =cellul.Value
                   col = col + 1
                   Next
                    Workbooks(Fichier.name).Close
     
                    ligne_fichier_recolement = ligne_fichier_recolement + 1
             End If
                Next
     
     
         End If
     
       End With
    End Sub

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 25/05/2012, 01h19
  2. Réponses: 8
    Dernier message: 23/06/2006, 13h51
  3. Réponses: 12
    Dernier message: 18/06/2006, 19h42
  4. Réponses: 3
    Dernier message: 26/04/2004, 12h51

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