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 données excel dans des autres fichiers


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2015
    Messages : 8
    Par défaut Copier des données excel dans des autres fichiers
    Bonjour ce code me permet de découper un fichier dans des autres fichiers
    excel selon la colonne T (filter ):

    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
    Option Explicit
     
     
     
    Sub creation_fichiers()
    Dim i As Integer
    Dim sh, Dlg, plg
    Dim Nomfich$
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
     
     
    Set sh = Sheets(1)
    Dlg = sh.Cells(Rows.Count, 1).End(xlUp).Row
    Set plg = sh.Range("A1:T" & Dlg)
    sh.Range("T6:T" & Dlg).Copy sh.[AA1]
    sh.Columns("AA").RemoveDuplicates Columns:=Array(1), Header:=xlYes
    sh.[AB1] = sh.[T5]
     
     
    For i = 2 To sh.Cells(Rows.Count, "AA").End(xlUp).Row
    Workbooks.Add
    sh.[AB2] = sh.Range("AA" & i)
    plg.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=sh.Range("AB1:AB2"), CopyToRange:=ActiveWorkbook.Sheets(1).Range("A1:T")
    Nomfich = (sh.Range("AA" & i)) & ("- Actings, Assignments") & ".xls"
    Nomfich = Replace(Nomfich, "/", "")
     
    ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & Nomfich, FileFormat:=xlExcel8
     
     
    ActiveWorkbook.Close False
    Next i
    sh.[AA:AC].ClearContents
     
     
    MsgBox (" Vos fichiers ont été bien traités avec succès ")
    End Sub
    j'aimerai bien aussi copier des données qui se sont situés au ["A1:H1"] dans tous les fichiers au moment de la copie , j'ai essayé de modifier cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sh.Range("T6:T" & Dlg).Copy sh.[AA1]
    mais sans résultats ;/

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 166
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Si j'ai bien compris à la lecture de ton code, tu souhaites copier sur des classeurs différents les données filtrées en fonction de données se trouvant dans une colonne. Autrement dit, tu splittes tes données.
    Si c'est le cas, voir ce fil http://www.developpez.net/forums/d12...l/#post7190633 où tu trouveras l'explication et un classeur exemple à télécharger.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2015
    Messages : 8
    Par défaut
    Ouii , mon code fonctionne trés bien , mais y'en a juste quelque données qui sont sur [A1:H1] que j'essaye de trouver une solution pour les copier aussi avec les données traités

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 166
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    C'est normal que cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sh.Range("T6:T" & Dlg).Copy sh.[AA1]
    ne fonctionne pas comme tu le souhaites car tu copies T6:Tx vers la cellule AA1 de la même feuille.

    Or d'après ce que tu écris, tu veux copier A1:H1 de la feuille source vers une feuille cible se trouvant dans un classeur nouvellement créé).
    A titre d'information, la méthode AdvancedFilter peut également copier une colonne sans les doublons (en remplacement de la méthode RemoveDuplicates)
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2015
    Messages : 8
    Par défaut
    oui mais le tableau que je traite c'est de [A5:T] c'est juste les données qui se trouvent dans [A1:H1] que je veux les transférer dans chaque création d'un nouveau fichier

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 166
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Oui, j'ai bien compris.
    Il faut donc faire un simple Range.Copy DestinationRange est la plage source et Destination, la cellule cible (classeur nouvellement créé).
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

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

Discussions similaires

  1. [WD-2007] Intéractivité entre Word et Excel-récupérer des données excel dans word
    Par manuseverine dans le forum VBA Word
    Réponses: 11
    Dernier message: 08/10/2018, 15h13
  2. Réponses: 3
    Dernier message: 16/11/2015, 10h11
  3. Réponses: 2
    Dernier message: 14/02/2011, 19h30
  4. Réponses: 5
    Dernier message: 24/02/2009, 09h05
  5. Copier des données excel dans un autre fichier excel
    Par titemireille dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 04/10/2007, 20h57

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