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 :

Recupérer des données de plusieurs feuilles excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Février 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 11
    Par défaut Recupérer des données de plusieurs feuilles excel
    j'avais il y quelque temps solicité votre aide pour copier des données d'une feuille execl vers une autre via une macro, le code fonctionne parfaitement , mais j'ai apporte quelque modif sur les données de la feuille a copier , les données occupe désormais un plage plus grande . En fait il y a deux lignes
    qui occupais la plage "A5:G7" j'ai ajouter des données la plage est désormais "A5:i7" , hors le copier coller ne prend pas en compte les données de "H5:I7" , j'ai retourné le code dans tous les sens mais je ne trouve pas ce qui doit etre corrigé pour qu'il me copie toute la zone .
    voici le lien vers la discussion correspondante
    ici
    Et merci pour l'aide apportée,

  2. #2
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Salut
    Plusieurs code t'ont été proposés dans le sujet, certain avec des correction a effectuer, donc merci de remettre ici le code que tu utilises, ce sera plus simple pour te venir en aide.
    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  3. #3
    Membre habitué
    Inscrit en
    Février 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 11
    Par défaut Voici le code utilisé
    Bonjour
    Le code extract_cp crée une feuille nomée "FeuilCumul", recupère dans le repertoire extrac1 les fichiers, et avec le code "copie" , les données se trouvant dans l'ongelt "testcopies" sont copiés dans la feuille "FeuilCumul",
    cela fonctionne et me copie bien les données situé dans la page A5:G7 , mais j'ai ajouté sur les 2 lignes deux colonnes la plage a copiée est donc desormais
    A5:I7 hors , mon code ne copie pas la partie en H5:I7 , j'ai un fait différent test mais je sèche , il y a suremment des modif a faire dans le code mais je ne sais pas quoi.
    Merci encore pour toute aide apporté

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    Sub Extract_cp()
    Dim RepFich As Variant
    Dim CL1 As Workbook, i As Byte, Rep$
    Dim FL1 As Worksheet
        Set CL1 = ThisWorkbook
     
        CL1.Sheets.Add
        CL1.ActiveSheet.Name = "FeuilCumul"
        Set FL1 = CL1.ActiveSheet 'Instance de la feuille
     
        'Répertoire des fichiers à copier
        Rep = "X:\test\VALIDE\Extract1"
     
        'Crée le tableau des fichiers du répertoire
        Set RepFich = Application.FileSearch
     
        'Ouverture des fichiers du répertoire
        With RepFich
            .LookIn = Rep
            .FileType = msoFileTypeExcelWorkbooks
            If .Execute(SortBy:=msoSortByFileName, _
                SortOrder:=msoSortOrderAscending) > 0 Then
                For i = 1 To .FoundFiles.Count
                    DoEvents
                     Copie FL1, .FoundFiles(i)
                Next
              Else
                MsgBox "Aucun fichier dans le répertoire " & Rep
            End If
        End With
    End Sub
    ==========================================================
    Sub Copie(FL1 As Worksheet, Fichier)
    Dim CL2 As Workbook
    Dim FL2 As Worksheet
    Dim i As Byte, Rep$, NoLigne As Long
     
         Set CL2 = Workbooks.Open(Fichier)
     
            Set FL2 = Worksheets("testcopies")
     
                'Dernière ligne où coller les données copiées dans FL2
                NoLigne = FL1.Range("b5:e12").SpecialCells(xlCellTypeLastCell).Row + 1
     
                'Copie de la plage renseignée de chaque feuille du classeur
                FL2.Range(FL2.Cells(1, 1), _
                    FL2.Cells(FL2.Cells(Columns(1).Cells.Count, 1).End(xlUp).Row, _
                    FL2.Cells(Columns(1).Cells.Count, 1).End(xlUp).Row)).Copy _
                    FL1.Range("A" & NoLigne)
                DoEvents
                Set FL2 = Nothing
                   CL2.Close False 'fermeture du classeur copié
            DoEvents
            Set CL2 = Nothing
     
    End Sub

  4. #4
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Test quel résultat te donne ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FL2.Cells(Columns(1).Cells.Count, 1).End(xlUp).Row

  5. #5
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Salut
    Peut etre en modifiant comme ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    FL2.Range(FL2.Cells(1, 1), _
                    FL2.Cells(FL2.Cells(Rows.Count, "A").End(xlUp).Row, _
                    FL2.Cells(1, Columns.Count).End(xlToRight).Column)).Copy _
                    FL1.Range("A" & NoLigne)
    J'avoue que celle d'origine est bizarre, elle sélectionne systématiquement une zone de cellule carré (si 5 lignes, 5colonnes, si 3 lignes 3 colonnes,...)

    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  6. #6
    Membre habitué
    Inscrit en
    Février 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 11
    Par défaut
    Citation Envoyé par Qwazerty Voir le message
    J'avoue que celle d'origine est bizarre, elle sélectionne systématiquement une zone de cellule carré (si 5 lignes, 5colonnes, si 3 lignes 3 colonnes,...)

    A++
    Qwaz
    Bonjour
    Merci pour le code cela fonctionne, je vais faire quelques test complementaires dés demain. Par contre pourrais tu m'expliquer le pb de l'ancien code. Suis très limite en code vb car je ne l'utilise pas quotidiennement. Phil

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/09/2014, 20h39
  2. [XL-2007] automatiser des données sur plusieurs feuilles Excel
    Par huscky dans le forum Excel
    Réponses: 8
    Dernier message: 29/08/2013, 20h17
  3. Recupérer des données de plusieurs feuilles excel
    Par philoux34 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 31/03/2009, 16h34
  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. [CR]Importer des données d'une feuille excel
    Par rolan dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 17/12/2004, 22h32

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