Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

separer deux colonne en plusieurs

typo

XLDnaute Junior
Bonjour
J'ai deux colonnes cote à cote de chacune un milliers de lignes. Pour imprimer je souhaiterais séparer ces deux colonnes en plusieurs "morceaux" de telle façon que sur la page il y ai 4 rangées de deux colonnes de 30 lignes chacune. Je cherche à le faire en VBA car le nombre de ligne dans mes colonnes de départ peut être variable.

Un petit exemple sera plus clair que mes explications

merci pour votre aide

Typo
 

Pièces jointes

  • separcol.xls
    40.5 KB · Affichages: 89

pierrejean

XLDnaute Barbatruc
Re : separer deux colonne en plusieurs

bonjour typo

Vois si cela te convient

macro:
Code:
Sub separcol()
Sheets("Feuil2").Cells.ClearContents
col = 1
lig = 0
ligcopie = 1
For n = 0 To Sheets("Feuil1").Range("A65536").End(xlUp).Row Step 30
 Sheets("Feuil1").Range("A" & lig + n + 1 & ":B" & n + lig + 30).Copy Destination:=Sheets("Feuil2").Cells(ligcopie, col)
 col = col + 3
If col > 10 Then
  col = 1
  ligcopie = ligcopie + 36
End If
Next n
Sheets("Feuil2").Select
End Sub
 

Pièces jointes

  • separcol.zip
    17.9 KB · Affichages: 35
Dernière édition:

ROGER2327

XLDnaute Barbatruc
Re : separer deux colonne en plusieurs

Bonjour typo
Une ébauche :
Code:
[COLOR="DarkSlateGray"][B]Sub toto()
Dim i, l, c
   For i = 1 To 1 + Sheets(1).Range("A1").End(xlDown).Row \ 30
      Sheets(1).Range(Cells(30 * i - 29, 1), Cells(30 * i, 2)).Copy Destination:=Sheets(2).Cells(l + 3, c + 1)
      l = l - 34 * ((i Mod 4) = 0)
      c = -(c + 3) * ((i Mod 4) <> 0)
   Next i
End Sub[/B][/COLOR]
ROGER2327
#3388


13 Floréal An CCXVIII
2010-W17-7T17:25:29Z


_______________________
Bonjour pierrejean, encore plus rapide !
 

pierrejean

XLDnaute Barbatruc
Re : separer deux colonne en plusieurs

Re

Merci ROGER

votre 'ebauche' m'a permis de rectifier ma macro qui ne reportait que 3 paires de colonnes
Peut-etre un peu plus rapide mais moins performant !!
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…