Copier colonne de quatre feuille sur une feuille

maval

XLDnaute Barbatruc
Bonjour,


Je vous explique ce que j'essaie de faire. J'ai un fichier avec 4 feuilles :
trans_text avec des données en colonne "E5",
trans_Path avec des données en colonne "D5",
trans_lien avec des données en colonne "F5" et
trans_list avec des données en colonne "F5".
Chacune de ces feuilles dispose d'informations différentes.
Je voudrais coller ces colonnes dans la feuille "Recap " dans une colonne à la suite.

J'ai fait ceci mais sa ne marche pas?
Code:
Private LigVid As Long
Private DL As Integer
Private Tampon

Sub Compiler_BaT()
    Application.ScreenUpdating = False
    On Error Resume Next
    With Sheets("recap")
        Cells.ClearContents
    End With
    With Sheets("trans_text")
        DL = .Columns("E5").Find(what:="*", searchdirection:=xlPrevious).Row
        Tampon = .Range("E5" & DL)
    End With
    Recopie
    With Sheets("trans_Patch")
        DL = .Columns("D5").Find(what:="*", searchdirection:=xlPrevious).Row
        Tampon = .Range("D5" & DL)
    End With
    Recopie
    With Sheets("Trans_Lien")
        DL = .Columns("f5").Find(what:="*", searchdirection:=xlPrevious).Row
        Tampon = .Range("F5" & DL)
    End With
    Recopie
        With Sheets("Trans_List")
        DL = .Columns("E5:F5").Find(what:="*", searchdirection:=xlPrevious).Row
        Tampon = .Range("F5" & DL)
    End With
    Recopie
End Sub

Sub Recopie()
    On Error Resume Next
    With Sheets("recap")
        LigVid = .Columns("f").Find(what:="*", searchdirection:=xlPrevious).Row + 1
        If LigVid = 0 Then LigVid = 1
        Cells(LigVid, "B").Resize(UBound(Tampon), 6) = Tampon
    End With
End Sub
Je ne sais pas si je suis très clair.

Je vous joins le fichier pour l'exemple :

Je vous remercie d"avance

Max
 

Pièces jointes

  • copiecolle.xlsm
    30.9 KB · Affichages: 28

Dranreb

XLDnaute Barbatruc
Bonjour.
Essayez comme ça :
VB:
Option Explicit
Private Cible As Range

Sub Compiler_BaT()
    Application.ScreenUpdating = False
    With Sheets("recap"): .Cells.ClearContents: Set Cible = .[F1]: End With
    Recopie Sheets("trans_texte").UsedRange
    Recopie Sheets("trans_Path").UsedRange
    Recopie Sheets("Trans_Lien").UsedRange
    Recopie Sheets("Trans_List").UsedRange
End Sub

Sub Recopie(ByVal Quoi As Range)
    Cible.Resize(Quoi.Rows.Count, Quoi.Columns.Count).Value = Quoi.Value
    Set Cible = Cible.Offset(Quoi.Rows.Count)
End Sub
 

Statistiques des forums

Discussions
312 305
Messages
2 087 070
Membres
103 455
dernier inscrit
saramachado