Compiler les données d'autres onglets dans un onglet "Compilation"

Bonjour à tous,

Débutante en VBA et après pas mal de recherche sur les forums, je n'arrive pas à comprendre mon erreur et comment la résoudre.

Je souhaite copier les données d'autres onglets dans un onglet appelé "Compilation". Il y a d'autres onglets à ignorer, en plus de Compilation, mais avec ce que j'ai écrit, l'onglet Compilation n'est jamais ignoré. Au contraire, la macro reste bloquée sur lui... Je ne sais plus quoi faire... Quelqu'un a une idée ? Merci !

Sub Compilation_Données()

'Compiler tous les prjets dans l'onglet "Compilation"

Dim wSheet As Worksheet

For Each wSheet In Worksheets

        If wSheet.Name <> "Compilation" Then 'Or Worksheet.Name <> "Trame" Or Worksheet.Name <> "Synthèse par étape" Or Worksheet.Name <> "Synthèse par projet" Or Worksheet.Name <> "Procédure" Or Worksheet.Name <> "Nouveau projet" Then

        'Copier les données
        Range("A7").Select
        Rows(ActiveCell.Row).Select
        Range(Selection, Selection.End(xlDown)).Select
        Selection.Copy

        'Coller les données dans l'onglet "Compilation"
        Sheets("Compilation").Select
        Range("A1").Select
        Selection.End(xlDown).Select
        ActiveCell.Offset(1, 0).Range("A1").Select
        ActiveSheet.Paste
        Exit For

        End If

Next wSheet

End Sub

Bonjour,

Il faudrait que tous les onglets à compiler aient leur ligne de titre à la ligne 7.

Option Explicit

Sub Compilation_Données()

'Compiler tous les projets dans l'onglet "Compilation"

Dim DerniereLigne As Integer, DerniereLigneCompil As Integer
Dim wSheet As Worksheet, ShCompil As Worksheet

    Set ShCompil = Sheets("Compilation")

    For Each wSheet In Worksheets

        With ShCompil
             DerniereLigneCompil = .Cells(.Rows.Count, 1).End(xlUp).Row
        End With

        Select Case wSheet.Name
               Case "Compilation", "Procédure", "Trame", "Nouveau projet"

               Case Else
                    With wSheet
                           DerniereLigne = .Cells(.Rows.Count, 1).End(xlUp).Row
                           If DerniereLigne > 7 Then
                              .Range(.Cells(7, 1), .Cells(DerniereLigne, 1)).Copy
                              ShCompil.Cells(DerniereLigneCompil + 1, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
                           End If
                    End With
        End Select

   Next wSheet

   Set ShCompil = Nothing

End Sub

bonjour,

Option Compare Text     'module insensible aux majuscules/minuscules

Sub Compilation_Données()

     'Compiler tous les prjets dans l'onglet "Compilation"

     Dim wSheet As Worksheet

     For Each wSheet In Worksheets

          Select Case wSheet.Name
               Case "Compilation", "Trame", "Procédure", "Nouveau projet" 'feuilles à passer
               Case Else
     'Copier les données
                    Select Case wSheet.Name
                         Case "synthèse par projects": r1 = 5     '1iere ligne est 5
                         Case Else: r1 = 7     'toutes les autres feuille, 1iere ligne est 7
                    End Select

                    r = wSheet.Range("A" & Rows.Count).End(xlUp).Row     'row de la derniere ligne
                    If r >= r1 Then
                         wSheet.Range("A" & r1).Resize(r - r1 + 1).EntireRow.Copy

     'Coller les données dans l'onglet "Compilation"
                         Sheets("Compilation").Range("A" & Rows.Count).End(xlUp).Offset(1).PasteSpecial xlValues     'or xlall
     'Exit For
                    End If

          End Select

     Next wSheet

End Sub

1000 mercis ! Cela fonctionne !!

Rechercher des sujets similaires à "compiler donnees onglets onglet compilation"