Copier/Coller TCD les uns à la suite des autres

Résolu
ti_mouton Messages postés 153 Statut Membre -  
ti_mouton Messages postés 153 Statut Membre -
Bonjour,

J'utilise une macro qui m'a été donné sur ce forum et qui marchait très bien. J'ai voulu l'adapter à un autre fichier mais j'obtiens le msg d'erreur suivant "Objet requis" au niveau de la ligne " DligD = .Range("A" & Rows.Count).End(xlUp).Row"

Sub Copier()

Dim Ind As Integer, DligS As Long, DligD As Long
Dim Sht As Worksheet, TabS() As String

With ActiveSheet
.Select
Set plage = .Range(.Cells(2, 1), .Cells(.Cells(.Rows.Count, 1).End(xlUp).Row, 3))
plage.ClearContents
End With

'definir la liste des feuilles à copier

TabS = Split("SEM 1,SEM 2,SEM 3,SEM 4,SEM 5", ",")
With ActiveWorksheet
For Ind = 0 To UBound(TabS)
'Definir la feuille à copier
Set Sht = Worksheets(TabS(Ind))
'trouver la dernière ligne du Tcd
DligS = Sht.Range("Z" & Rows.Count).End(xlUp).Row
'trouver la dernière ligne du tableau du mois
DligD = .Range("A" & Rows.Count).End(xlUp).Row
'copier le tableau
Sht.Range("Z3:AB" & DligS).Copy
.Range("A" & DligD + 1).PasteSpecial Paste:=xlPasteValues
Next Ind
End With

End Sub


Si quelqu'un peut m'indiquer mon erreur...

Merci :)

1 réponse

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    moi j'ai une erreur dès
    With ActiveWorksheet

    as-tu compilé ton code?
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      Je pense que cela va fonctionner si tu supprimes le premier
      End With
      et le
      With ActiveWorksheet
      0
      1. ti_mouton Messages postés 153 Statut Membre > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         
        effectivement ça fonctionne ! merci
        0
    2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      je te suggère d'ajouter "option explicit" au début de ton code: cela te forcera à déclarer tes variables, et te permettra facilement de détecter des erreurs (telles que l'utilisation de ActiveWorksheet qui n'existe pas).
      0
      1. ti_mouton Messages postés 153 Statut Membre > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         
        d'accord merci !
        0