pour la premiere question essayer ca
Sub PasteFormulas_adaptater()
Dim ligne As Integer, colonne As Integer, startL As Integer, startcol As Integer
Dim finL As Integer, fincol As Integer, decalage As Integer
ligne = 2 'la ligne de la cellue a copier
colonne = 1 'la colonne de la cellule a copier
' par exemple vous voulez copier Range("a2") donc:
'ligne = 2
'colonne = 1
'##################################
startL = 2 'la ligne de plage destainataire
startcol = 2 ' "b" la colonne de plage destainataire
'##################################
finL = 2 'la ligne de plage de plage destainataire pour etendre la selection
fincol = 8 'la colonne de plage de plage destainataire pour etendre la selection
' par exemple vous voulez spcifier Range("b2:h2") donc:
' startL = 2
' startcol = 2
' finL = 2
' fincol = 8
'##################################
' .Range(.Cells(,),.Cells(,)) c est comme .Range("B2:H2")
With Worksheets("1 - Descriptif général")
.Cells(ligne, colonne).Copy
.Range(.Cells(startL, startcol + decalage), .Cells(finL, fincol + decalage)).PasteSpecial Paste:=xlPasteFormulas, _
Operation:=xlNone, SkipBlanks:=False, _
Transpose:=False
End With
End Sub