Macro excel

nlegoupil Messages postés 65 Statut Membre -  
nlegoupil Messages postés 65 Statut Membre -
Bonjour,

Voila, j'ai besoin d'aide!

j'ai un document excel qui contient 159 feuilles. sur chaque feuille un tableau qui contient le même nombre de colonnes. Sur les colonnes C et D et E, certaines cellules sont restées vides.

Ce que j'ai besoin de faire, c'est remettre toutes les lignes de toutes les feuilles sur la même feuille, en supprimant les cellules vides sur les colonnes C ET D ET E (sur aucune des trois), ainsi que la première ligne de chaque feuille (qui contient le titre des colonnes).

Merci d'avance à qui voudra bien prendre un peu de son temps pour m'aider...

3 réponses

  1. Info
     
    Bonjour,

    Voici un premier jet qui regrouperas les données de toutes les feuilles
    sur la première feuille. Attention, si le nom des feuilles diffèrent, il te
    faudra aussi adapter.

    Option Explicit
    
    Sub XFR_Data()
    
        ' La procédure fonctionne si des données sont
        ' inscritent dans la colonne A de chaque feuille
    
        Dim WS As Worksheet
        Dim Plage As Range
        Dim Limite As Long, Boucle As Long
        
    
        Sheets("Feuil1").Select
        Limite = Range("A65536").End(xlUp).Row + 1
        Range("A" & Limite).Select
        
        For Each WS In Worksheets
            If (WS.CodeName <> "Feuil1") Then
                WS.Select
                Limite = Range("A65536").End(xlUp).Row
                ' Ici la colonne F est choisi par hazard
                ' il te faudra adapter
                Set Plage = Range("A2:F" & Limite)
                Plage.Select
                Selection.Copy
                Sheets("Feuil1").Select
                ActiveSheet.Paste
                Application.CutCopyMode = False
                Limite = Range("A65536").End(xlUp).Row + 1
                Range("A" & Limite).Select
            End If
        Next WS
        
    End Sub
    


    Si tu comprends cette procédure, alors je pourrai te proposer
    la suite pour nettoyer les cellules vides, car je n'ai pas exactement
    compris si tu veux supprimer la cellule ou la ligne complète.

    S'il s'agit de la cellule, il y aura décalage des données !!!

    Cdt

    Info
    0
  2. nlegoupil Messages postés 65 Statut Membre 2
     
    ouhaa merci!! ça marche ... presque...! Le seul problème c'est que la colonne A de chacune des mes feuilles n'est pas prise en compte. A la place dans la feuille 1 (la ou les cellules sont collées après l'execution de la macro), il y a "feuille 1" sur toutes les lignes...

    Sinon pour la suppression des lignes vides, je vais faire simple avec un petit tri à la fin, ce sera très bien!
    0
  3. nlegoupil Messages postés 65 Statut Membre 2
     
    Je viens de comprendre pourquoi j'ai ce problème.

    Pour obtenir les 159 feuilles, j'ai fait une première macro, qui avait pour résultat que toutes les feuilles portent le nom des cellules de la colonne A (dans colonne A, toutes les cellules portent le même nom, c'est un code, qui est donc également le nom de la feuille).

    Résultat, dans feuil1, les cellules de la colonne A, portent le nom de la feuille...

    Que faire? si je supprime la 1ere macro, mes cellules ne vont plus savoir comment s'appeler...

    Je ne sais pas si je suis très claire...
    0