Sub MacroCopieH6SurTouteLaPlage()
Dim DCol As Integer, DLig As Integer

    DCol = Range("H5").End(xlToRight).Column        ' trouver dernière colonne
    
    ' adapter pour la colonne des "Références", car les autres colonnes
    '   sont susceptibles de ne avoir de données jusqu'à la dernière ligne
    DLig = Cells(Rows.Count, "G").End(xlUp).Row     ' trouver dernière ligne

    ' adpater pour la première cellule en haut à gauche de la plage à traiter
    Range("H6").Copy

    ' Copie de la mise en forme conditionnelle sur la ligne suivante
    ' Encore ici, adapter la avec la cellule à copier >> dans l'exemple ici c'est "H6"
    Range(Cells(6, Range("H6").Column), Cells(DLig, DCol)).PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False

    Application.CutCopyMode = False
    Range("H6").Select
    
End Sub



Sub MacroCopierLigne6DunCoupSurlaPlage()
Dim DCol As Integer, DLig As Integer, X As Integer

    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    
    DCol = Range("H5").End(xlToRight).Column        ' trouver dernière colonne
    
    ' adapter pour la colonne des "Références", car les autres colonnes
    '   sont susceptibles de ne avoir de données jusqu'à la dernière ligne
    DLig = Cells(Rows.Count, "G").End(xlUp).Row     ' trouver dernière ligne

    ' adpater pour la première cellule en haut à gauche de la plage à traiter
    Range(Cells(6, "H"), Cells(6, DCol)).Copy

    ' Copie de la mise en forme conditionnelle sur la ligne suivante
    ' Encore ici, adapter la avec la cellule à copier >> dans l'exemple ici c'est "H6"
        Range(Cells(7, Range("H6").Column), Cells(DLig, DCol)).PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False

    Application.CutCopyMode = False
    Range("H6").Select
    Application.Calculation = xlCalculationAutomatic
    
End Sub



Sub MacroCopierLigne6LigneParLigne()  ' ça prend 1 minute sur une machine rapide
Dim DCol As Integer, DLig As Integer, X As Integer

    Application.ScreenUpdating = False
    
    DCol = Range("H5").End(xlToRight).Column        ' trouver dernière colonne
    
    ' adapter pour la colonne des "Références", car les autres colonnes
    '   sont susceptibles de ne avoir de données jusqu'à la dernière ligne
    DLig = Cells(Rows.Count, "G").End(xlUp).Row     ' trouver dernière ligne

    ' adpater pour la première cellule en haut à gauche de la plage à traiter
    Range(Cells(6, "H"), Cells(6, DCol)).Copy

    ' Copie de la mise en forme conditionnelle sur la ligne suivante
    ' Encore ici, adapter la avec la cellule à copier >> dans l'exemple ici c'est "H6"
    For X = 7 To DLig
        Range(Cells(7, Range("H6").Column), Cells(X, DCol)).PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
            SkipBlanks:=False, Transpose:=False
    Next X
    Application.CutCopyMode = False
    Range("H6").Select
    
End Sub
