BUG Code

Bonjour à tous

j'ai un bug au niveau du code et je ne sais pas comment faire

Merci de corriger l'erreur

Option Explicit
Option Private Module

Public Sub MergedWorksheets()
' declaration des variables
Dim ws As Worksheet, wsData As Worksheet
Dim lo As ListObject
Dim lRow As Long
    ' optimisation code
    Application.ScreenUpdating = False
    ' initialisation feuille Résumé
    Set wsData = ActiveWorkbook.Worksheets("Résumé")

    With wsData
        ' initialisation tableau (tblRésumé - voir gestionnaire de noms)
        ' pas nommé explicitement, car on a 1 tableau dans la feuille
        Set lo = .ListObjects(1)
        With lo
            ' si le tableau comporte des données, on efface les données
            ' les formules et les formats de cellules sont conservées!!!
            If Not .DataBodyRange Is Nothing Then .DataBodyRange.Delete
        End With
        ' on réinitialise la variable tableau (on vide la mémoire)
        Set lo = Nothing
    End With
    ' ligne départ pour la copie des tableaux
    lRow = 2
    ' pour chaque feuille du classeur actif
    For Each ws In ActiveWorkbook.Worksheets
        ' si feuille différente de Resume et Accueil
        If ws.Name <> wsData.Name And ws.Name <> "Accueil" Then
            ' pour chaque tableau dans la feuille
            For Each lo In ws.ListObjects
                ' on copie le tableau sans les en-têtes
                ' sans la dernière colonne (taux de réalisation)
                lo.DataBodyRange.Resize(, lo.ListColumns.Count - 1).Copy
                With wsData
                    ' on colle les valeurs dans la feuille Resume
                    ' (pas le format des cellules, et il n'y a pas de formules)
                    .Cells(lRow, 1).PasteSpecial xlPasteValues
                    ' on redefinit la prochaine ligne de recopie pour la prochaine feuille
                    lRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
                End With
                Application.CutCopyMode = False
            Next lo
        End If
    Next ws

    wsData.Activate

    MsgBox "Mise à jour effectuée", vbOKOnly + vbInformation, "Consolidation annuelle"

    Set wsData = Nothing

End Sub
2016 03 31 16 44 53

Bonsoir,

Et si tu modifiais lRow, le numéro de ligne de recopie.

Soit 5 par exemple, ald 2. Que se passe-t-il ?

' ligne départ pour la copie des tableaux

lRow = 2

Le code a été commenté. Il faut peut-être lire les commentaires.

Cdlt.

Rechercher des sujets similaires à "bug code"