Copie chaque 2 colones d'une plage

ssassam

XLDnaute Occasionnel
Bonjour,

Svp Je souhaite avoir une Boucle qui copie chaque 2 colonnes jusqu’à la dernier cellule vide comme l'exemple Ci-après :

A1:B20 > C1:D20 > E1:F20 > ... boucle pour chaque 2 colonnes dans une plage de donné fixe A>Z
Puis les copier l'une après l’autre sur la ligne A30 comme ça :


Merci
 

Pièces jointes

  • test.xlsx
    8.5 KB · Affichages: 21
  • test.xlsx
    8.5 KB · Affichages: 29
  • test.xlsx
    8.5 KB · Affichages: 27

ssassam

XLDnaute Occasionnel
Re : Copie chaque 2 colones d'une plage

Solution trouvé :

Savoir c'est partager


Sub transpose2col()
Set ws1 = Sheets("taf") ' Nom feuille source
Set ws2 = Worksheets.Add(after:=ws1)
dc1 = ws1.Cells(1, Columns.Count).End(xlToLeft).Column
k = 1
For i = 1 To dc1 Step 2
dl1 = ws1.Cells(Rows.Count, i + 1).End(xlUp).Row
For j = 2 To dl1
k = k + 1
ws1.Cells(j, i).Copy ws2.Cells(k, 2)
ws1.Cells(j, i + 1).Copy ws2.Cells(k, 3)
ws1.Cells(1, i).Copy ws2.Cells(k, 1)
Next j
Next i
Set ws1 = Nothing
Set ws2 = Nothing
End Sub
 

Caillou

XLDnaute Impliqué
Re : Copie chaque 2 colones d'une plage

Bonjour,

autre solution (un peu tardive certes !)

Code:
Sub classeur_ssassam()
  Dim hauteur As Long, j As Long
  
  j = 1

  Range("A30").CurrentRegion.Clear
  Do While Not IsEmpty(Cells(1, j))
    Range(Cells(1, j), Cells(20, j + 1)).Copy
    Range("A30").Offset(Range("A30").CurrentRegion.Rows.Count, 0).PasteSpecial
    j = j + 2
  Loop

End Sub

Caillou
 

Discussions similaires

Réponses
1
Affichages
1 K

Statistiques des forums

Discussions
312 215
Messages
2 086 331
Membres
103 188
dernier inscrit
evebar