Bonjour,
Si les entêtes sont sur la ligne 1 ...
Sans fichier pour tester > un essai ...
Option Explicit
Sub CopieColleColonne()
Dim X As Integer
Dim Cs As Integer ' Colonne source
Dim Cc As Integer ' colonne cible
Dim DlgCs As Integer ' dernière ligne colonne source
Dim DlgCc As Integer ' dernière ligne colonne cible
Dim Dcol As Integer ' dernière colonne
With Worksheets("Feuil1")
Dcol = .Cells(5, Columns.Count).End(xlToLeft).Column ' dernière colonne de données basé sur la ligne 1
For X = 1 To Dcol ' parcours les colonnes
If .Cells(5, X) = "Facts" Then Cs = X
If .Cells(5, X) = "Facts_Bilan" Then Cc = X
Next X
DlgCs = .Cells(Rows.Count, Cs).End(xlUp).Row ' dernière ligne de données basé sur la colonne source
DlgCc = .Cells(Rows.Count, Cc).End(xlUp).Row + 1 ' dernière ligne de données basé sur la colonne cible
If Cs > 0 Then .Range(.Cells(8, Cs), .Cells(DlgCs, Cs)).Copy .Cells(DlgCc, Cc)
End With
End Sub
ric