Bonjour,

J'ai un code qui me permet de copier, sur une nouvelle feuille le contenu d'une autre (qui contient un TCD).
Mon problème est le suivant, lorsque la macro a tournée, sur la nouvelle feuille SDD R2Y16, il manque des lignes de mon TCD car je pense que seules, les 26 premières lignes de la feuille R2Y2016 SDD sont copiées.
I'l n'y a pourtant pas de borne supérieure..

Pourriez-vous m'aider svp?

D'avance, un tout grand merci!

Jenna

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Sub Macro()
 
Dim TabFeuilles()
Dim ShSource As Worksheet
Dim ShDest As Worksheet
Dim i As Integer
 
' pour boucler sur les feuilles
TabFeuilles = Array("R2Y2016 SDD")
 
Set ShDest = ThisWorkbook.Worksheets("SDD R2Y16")
' nettoyage de la feuille de destination
ShDest.Rows(1 & ":" & ShDest.Rows.Count).Clear
 
' pour chaque feuille
For i = LBound(TabFeuilles) To UBound(TabFeuilles)
    Set ShSource = ThisWorkbook.Worksheets(TabFeuilles(i))
    With ShSource
        ' si la dernière ligne est supérieure à 8 = il y a des données dans le TCD
        If .UsedRange.Rows.Count > 8 Then
            ' copie de la plage du TCD dans la feuille de destination
 
           .Range(.Cells(8, 1), .Cells(.UsedRange.Rows.Count, .UsedRange.Columns.Count)).Copy _
                        ShDest.Cells(ShDest.UsedRange.Row + ShDest.UsedRange.Rows.Count + 1, 1)
 
        End If
    End With
Next i
 
Set ShSource = Nothing
Set ShDest = Nothing
 
End Sub