Passer 2 colonnes de 5500 lignes sur X pages A4

Bonjour, J'ai un fichier comprenant 2 colonnes (ref et prix) / 5500 lignes qui représente 86 pages. Or les pages sont presque vide puisqu'il n'y a que 2 colonnes par page ! J'aimerai mettre sur 1 page le plus de colonnes (par 2) afin de passer de 86 pages à ?? peut etre 10 pages .... merci 1000 fois pour votre aide !

Hello :)

Envoie un fichier exemple avec des données bidons, je ne vois pas bien le truc

@+

20ao-2023.xlsx (112.81 Ko)

Et voici !

J'aimerai lorsqu'on arrive à la ligne 65 (en bas de la ère page) ça continue en colonne D et E (la colonne C serait une colonne vide pour améliorer la lisibilité) puis ca continue en colonne G et H (la colonne F serait une colonne vide pour améliorer la lisibilité) puis colonne J et K (la colonne I serait une colonne vide pour améliorer la lisibilité) (si il y a assez de place ) puis on continue sur le meme principe sur les pages suivantes ... ainsi de 86 pages je peux espérer passer en 10 pages ?....

Merci pour votre aide !

la plupart du boulot, vous devez faire à main ...

12ao-2023.xlsx (147.83 Ko)

Bonjour,

En passant par une macro ?

Sub Organiser()
    'Decoupe un long tableau vertical [A:B] en plusieurs petit
Dim LigneMax As Byte 'max 255
Dim DerniereCol As Integer
Dim dercol As Integer
Dim Colonne As Integer
Dim Col As Integer
Dim ColSwitch As Byte
Dim ImpSwitch As Byte

LigneMax = 65   'Ligne max contenu dans la page a imprimer

DerniereCol = Round(Cells(Rows.Count, 1).End(xlUp).Row / LigneMax, 0) + 1  'Declarer la Derniere colonne Arrondi(nb ligne / la ligne max de la page)

Colonne = 1     'Declarer la premiere colonne principal
Col = 1         'Declarer la premiere colonne secondaire
ColSwitch = 3   'Décallage pour Col répartir le tableau principal

For Colonne = 1 To DerniereCol  'Pour toutes les colonnes qui devront contenir des valeurs,
    If Cells(LigneMax + 1, Col) <> "" Then 'Si la Cellule en bas de la page contient une valeur
        Range(Cells(LigneMax + 1, Col), Cells(LigneMax + 1, Col + 1).End(xlDown)).Cut   'On coupe les valeurs suivantes
        Col = Col + ColSwitch   'La colonne se décalle
        Range(Cells(1, Col), Cells(1, Col + 1)).Select  'On revien sur la premiere ligne
        ActiveSheet.Paste   'Pour coller les valeurs coupées
    End If
Next Colonne    'On continue la boucle avec le groupe de valeurs suivante

'______________________________________________________________________________________________________________________________________________
    'Mise en forme
dercol = Cells(1, Cells.Columns.Count).End(xlToLeft).Column     'derniere colonne utilisé
For Colonne = 1 To dercol  'Pour toutes les colonnes a imprimer
    If Cells(1, Colonne) <> "" Then Cells(1, Colonne).ColumnWidth = 13.5 Else Cells(1, Colonne).ColumnWidth = 3   'largeur 16 si texte et largeur 3 si vide
Next

Range(Cells(1, 1), Cells(LigneMax, dercol)).Select  'Selection de l'enssemble des tableau
ActiveSheet.PageSetup.PrintArea = Selection.Address 'Definir la zone d'impression
Range("A1").Select
End Sub
14ao-2023-geof.xlsm (195.95 Ko)

A+

Bonjour à tous

Une proposition PowerQuery : on indique le nombre de lignes voulues par page et on actualise

Sans réduction 65 lignes donne 29 pages de 6 colonnes

Si tu réduis à 80 % tu peux mettre 82 lignes et cela donne 17 pages de 8 colonnes

Actualiser le résultat lorsqu'on modifie ou les données ou les choix

27ao-2023-pq.xlsx (202.22 Ko)
Rechercher des sujets similaires à "passer colonnes 5500 lignes pages"