Regroupement dans une feuille

bonjour,

j'ai un fichier qui possède plusieurs feuilles (noms dans la macro).

je voudrais pouvoir mettre dans une même feuille nommée "GLOBAL PROD" tout ce qui se trouve dans ces feuilles.

les feuilles sont toutes faites de la même façon pour les données donc :

premiére ligne la "2" et colonne de "A" à "R" (ce sont les données à rapatrier de chaque feuille).

le fait d'avoir intégré les noms dans la macro est volontaire car j'ai d'autres feuilles non concernées par la macro.

j'ai déclaré mes variables, fait la sélection de ma feuille par rapport à la liste et calculé le nombre de lignes mais là je suis bloqué pour faire la copie des données.

à l'avance merci pour votre aide tjrs aussi précieuse.

Sub global()
Dim dlig As Integer
Dim mesfeuilles
Dim n As Integer
Dim mafeuille As Worksheet

mesfeuilles = Array("ATTENTE PRISE EN MAIN", "ATTENTE CONVOCATION", "EN COURS", "ATTENTE PIECES", "ATTENTE MO", "CONTROLE FINAL", "PRESTATION EXTERNE")
For n = LBound(mesfeuilles) To UBound(mesfeuilles)
   Set mafeuille = Sheets(mesfeuilles(n))

   With mafeuille
               dlig = .Cells(Rows.Count, "B").End(xlUp).Row      

End Sub

juste une précision les données sont à copier comme pour les feuilles à partir de la ligne 2 et colonnes B à R

Bonjour,

Bon je me suis creusé la tête pour sortir ce qui suit mais erreur.

et je ne suis pas sure que cela fonctionne:

  • il détecte le nombre de ligne de la feuille à copier
  • mais je ne sais pas comment faire pour qu'il écrive dans la feuille "GLOBAL PROD" les feuilles les unes en dessous des autres.

merci pour votre aide

Sub global_prod()
Dim dlig As Integer
Dim mesfeuilles
Dim n As Integer
Dim mafeuille As Worksheet
Dim feuillDest As Worksheet

mesfeuilles = Array("ATTENTE PRISE EN MAIN", "ATTENTE CONVOCATION", "EN COURS", "ATTENTE PIECES", "ATTENTE MO", "CONTROLE FINAL", "PRESTATION EXTERNE")
Set feuillDest = Sheets("GLOBAL PROD")
For n = LBound(mesfeuilles) To UBound(mesfeuilles)
   Set mafeuille = Sheets(mesfeuilles(n))

   With mafeuille
lastline = .Range("B" & .Rows.Count).End(xlUp).Row
               .Range("B2:T" & lastline).Copy Destination = feuilleDest.Range("B" & dlig)

End With
Next n
End Sub

Bonjour,

Personne pour me venir en aide??????

bonjour,

plus besoin de chercher j'ai trouvé la solution:

bonne journée à tous

Sub global_prod()

    Dim mafeuille As Worksheet

    For Each mafeuille In ThisWorkbook.Sheets(Array("ATTENTE PRISE EN MAIN", "ATTENTE CONVOCATION", "EN COURS", "ATTENTE PIECES", "ATTENTE MO", "CONTROLE FINAL", "PRESTATION EXTERNE"))

        mafeuille.Range("B2:T" & mafeuille.Range("B" & Rows.Count).End(xlUp).Row).Copy _
                Destination:=Sheets("GLOBAL PROD").Range("B" & Rows.Count).End(xlUp).Offset(1)
    Next

End Sub
Rechercher des sujets similaires à "regroupement feuille"