Sub testx()
Dim plage As Range, vide&, colonne_a_recuperer
vide = 200 ' on prevoit une colonne vide pour les intersticeson la prend loin des colonnes utilisées pour etre sur
With Sheets("Saisie")
Set maplage = .Range("A3").Resize(.Cells(Rows.Count, 1).End(xlUp).Row - 2, vide) 'je dimentionne la plage de "saisie" a 200 colonnes
End With
colonne_a_recuperer = Array(100, 8, vide, 3, 4, 5, vide, vide, vide, vide, 7) 'dans l'ordre dans le quel on les veux
transfert maplage, colonne_a_recuperer
End Sub
Function transfert(plage, arrcolumns) As String
Dim va
va = Application.Index(plage.Value2, Evaluate("ROW(" & 1 & ":" & plage.Rows.Count & ")"), arrcolumns) 'mettre les colonnes que l'on veut dans l'ordre voulues
With Sheets("Feuil1")
.Cells(2, 1).Resize(UBound(va), UBound(va, 2)) = va
.Cells(2, 1).Resize(UBound(va)) = "100"
.Cells(2, 3).Resize(UBound(va)) = Format(Date, "dd-mm-yyyy")
.Cells(2, 2).Resize(UBound(va)).NumberFormat = "000000"
.Cells(2, 4).Resize(UBound(va)).NumberFormat = "000000"
End With
End Function