Bonsoir Jean Marie, Minick, JC de Lorient, le Forum
Ah je ne savais pas que l'on avait des limites dans les plages nommées...
Alors qu'à celà ne tienne voici une solution 100% VBA, qui passe par une Array qui n'a pas de limite, pour construire un Tableau Séquentiel "DataSource", que je délimite donc à 51 Data de type String... et que j'envoie ensuite en feuille "récap", tu noteras que cette array dynamique est en base 0 (d'où le DataSource(y - 1) pour le décalage)
Ne sachant pas le contenu de tes 51 cellules, si tu as des problèmes pour récupérer des valeurs de type numérique ou date alors change la déclaration de Variable de String à Variant (plus gourmant en ressource)
Sub MultiCellCopy()
Dim DataSource(50) As String
Dim LastLine As Long
Dim Item As Variant
Dim i As Byte, y As Byte
LastLine = Sheets("Récap").Range("A65536").End(xlUp).Row + 1
For Each Item In Array("i9", "e21", "f21", "e22", "e23", "g25", "g26", "g29", "f31", "f33", _
"f35", "f43", "f45", "f49", "f51", "f53", "f55", "f57", "j31", "j33", _
"j35", "j37", "j39", "j41", "j43", "j45", "j47", "j49", "j51", "j53", _
"j55", "k59", "i61", "k61", "g65", "f67", "f69", "e71", "f71", "e75", _
"f75", "i62", "i63", "i64", "k62", "k63", "k64", "e76", "f76", "i76", "k76")
DataSource(i) = Sheets("fiche_paye").Range(Item)
i = i + 1
Next
For y = 1 To 51
With Sheets("Récap")
.Cells(LastLine, y) = DataSource(y - 1)
End With
Next
End Sub
Je pense que ce coup-ci ce devrait faire l'affaire... Et c'est un bon exemple d'usage d'Array fixe pour construction de tableaux...
Bonne Soirée à tus et toutes
@+Thierry