Corriges par :
.Range("F2:J" & dL).Formula = .Range("F2:J2").Formula
EDIT : avec une procédure commune :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| Option Explicit
Sub SSA1()
Call Transfert("SSA1")
End Sub
'...
Sub SSA3()
Call Transfert("SSA3")
End Sub
Sub Transfert(nomFeuille As String)
Dim fD As Worksheet
Dim f3 As Worksheet
Dim cel As Range
Dim dL As Long
Set fD = Worksheets("Données Brutes")
Set f3 = Worksheets(nomFeuille)
With f3
.Cells.ClearContents
Set cel = fD.Rows(1).Find("Index_" & nomFeuille, , xlValues, xlWhole)
If Not cel Is Nothing Then
Union(fD.Columns(1), cel.EntireColumn).Copy .Range("A1")
.Range("A:B").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
.Range("E2").Value = fD.Range("M13").Formula
.Range("F2").Value = fD.Range("M14").Formula
.Range("G2").Value = fD.Range("M15").Formula
.Range("H2").Value = fD.Range("M16").Formula
.Range("I2").Value = fD.Range("M17").Formula
.Range("J2").Value = fD.Range("M18").Formula
dL = .Range("A1").CurrentRegion.Rows.Count
.Range("F2:J" & dL).Formula = .Range("F2:J2").Formula
Else
MsgBox "Colonne « Index_" & nomFeuille & " » non trouvée."
End If
End With
End Sub
Sub Tous()
Call Transfert("SSA1")
Call Transfert("SSA2")
Call Transfert("SSA3")
Call Transfert("SSA4")
Call Transfert("PG1")
Call Transfert("PG2")
Call Transfert("PR")
Call Transfert("PS")
End Sub |
Partager