Bonjour,
sinon à partir du fichier exemple,
voici un code transformant les colonnes de la feuille
origine (
Feuil1) dans la feuille
cible (
Feuil2) :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| Sub RecopieParAppli()
C& = Feuil1.UsedRange.Columns.Count
If C > 1 Then
TS = Feuil1.UsedRange
ReDim TC$(1 To C, 1 To UBound(TS))
For R = 1 To UBound(TS)
AP = Split(TS(R, 1), vbLf)
N& = L& + 1 + UBound(AP)
If UBound(TC, 2) < N Then ReDim Preserve TC(1 To C, 1 To N)
For Each A In AP
L = L + 1: TC(1, L) = A
For K& = 2 To C: TC(K, L) = TS(R, K): Next K
Next A
Next R
Feuil2.Columns("A:" & Chr$(64 + C)).ClearContents
Feuil2.[A1].Resize(L, C) = Application.Transpose(TC)
End If
End Sub |
Comme le fichier exemple est au format .xlsx, il faudrait l'enregistrer au format .xlsb ou .xlsm …
Si ce n'est pas le fichier exemple qui contient le code, il faut alors requalifier
Feuil1 &
Feuil2 dans mon code …
__________________________________________________________________________________________
Merci de cliquer sur
![+1](https://www.developpez.net/forums/images/smilies/poucevert.gif)
pour chaque message ayant aidé puis sur
![:resolu:](https://www.developpez.net/forums/images/buttons/resolu.gif)
pour clore cette discussion …
Partager