Réunification de tableau

Maxime -  
gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous,

j'ai lu les quelques sujets déjà écrits à ce sujet mais je n'y comprends pas grand chose et je n'ai pas réussi à obtenir ce que je désirais :

J'ai un fichier excell de 400 page, je souhaite les regrouper en ne prenant 25 lignes dans ce tableau (consécutives) et 2 colonnes seulement (sur une 10).

J'ai trouvé ce genre de code :

Sub recap2()  
    Dim sh As Worksheet  
    For Each sh In Worksheets  
        If sh.Name <> "Recap" Then  
            sh.[A2].Resize(sh.[A65536].End(xlUp).Row - 1, 8).Copy Destination:=Worksheets("Recap").[A65536].End(xlUp).Offset(1, 0)  
        End If  
    Next sh  
End Sub 


qui permettrait d'enlever la première ligne, mais comment faire pour n'en prendre qu'une plage et ne prendre que une ou deux colonne ?

Merci d'avance :).

3 réponses

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    Bonjour,

    Tu remplaces :
                sh.[A2].Resize(sh.[A65536].End(xlUp).Row - 1, 8).Copy 
    par
                sh.[A2:B26].Copy 

    Tu vas mettre en "Recap" la plage A2:B26 soit 25 lignes et 2 colonnes de chaque feuille.
    0
  2. Maxime
     
    Merci pour la réponse.

    Après essai, l'extraction marche bien, le seul problème est qu'il colle les extraction les une par dessus les autres :s. Une solution pour qu'il les colle les une à la suite des autres ?
    0
  3. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    Bonjour,

    Tu n'as pas dû bien modifier car ceci fonctionne correctement :
    Sub recap2()
        Dim sh As Worksheet
        For Each sh In Worksheets
            If sh.Name <> "Recap" Then
                sh.[A2:B26].Copy _
                Destination:=Worksheets("Recap").[A65536].End(xlUp).Offset(1, 0)
            End If
        Next sh
    End Sub
    
    0