Suite chronologique sur plusieurs colonne dans une même page

Bonjour, j'ai un petit soucis, gros pour moi

Je voudrais faire d'un groupe de deux colonne (A la référence et B le prix) qui est sur 474 pages, sur 3 fois moins de pages, c'est a dire que quand j'arrive an bas de pages les référence et prix ce décale sur les colonnes de droites.

Je ne sais pas trop comment expliqué, je ne sais pas si c'est clair

En fait je veut les colonnes A et B ce suivent en C et D et E et F en chronologique a chaque fin de page.

Merci a vous

Mon exemple de fichier:

http://dl.free.fr/pUIitcCJ8

Bonjour,

Si je comprend bien tu veux que tes donner change de colonne afin de rentrer sur une seul page à l'impressions ?

Si cela est le cas tu peux ajuster ton impression dans la mise en page exel. Sur 2012 :

  • Fichier
  • Imprimer
  • Mise en page
  • ajuster

A ce moment tu définie sur combien de pages tu veux ajuster ton impression.

Mais si tu veux faire en sorte que ta colonne A devienne C et ta colonne B devient D et ainsi de suite a chaque fois que la précédente a dépasser ta zone d'impression en longueur, je ne sais pas comment faire en automatique.

En espérant t'avoir aider !

ps : Le fait d'aller dans les options de mise ne page va afficher des cadre en pointiller sur ta page, chaque cadre correspond a 1 feuille imprimer avec tes configuration d'impression actuelle.

Bonjour,

Une proposition à étudier et à adapter.

Ctrl+w pour lancer la procédure

Cdlt.

Option Explicit
Public Sub Mise_en_forme()
' Ctrl+w pour lancer la procédure
Dim Wss As Worksheet
Dim Dl As Long, Dl1 As Long
Dim lig As Long, col As Integer
Dim Nbp As Long, x As Long
Dim Plg As Range
10        With Application
20            .DisplayAlerts = False
30            .ScreenUpdating = False
40        End With
50        Set Wss = Worksheets("Feuil1")
60        On Error Resume Next
70        Worksheets("Feuil2").Delete
80        On Error GoTo 0
90        Application.DisplayAlerts = True
100       ActiveWorkbook.Worksheets.Add after:=Wss
110       ActiveSheet.Name = "Feuil2"
120       With Wss
              ' derligne non vide feuil1
130           Dl = .Range("A" & Rows.Count).End(xlUp).Row
              ' nombre de pages à l'impression
140           Nbp = .PageSetup.Pages.Count
              ' nombre de lignes par page
150           x = Application.RoundUp(Dl / Nbp, 0)
              ' derligne non vide feuil2
160           Dl1 = 1
170           col = 1
180           For lig = 1 To Dl Step x
190               Set Plg = .Range(.Cells(lig, 1), .Cells(lig, 1).Resize(x, 2))
200               Plg.Copy Destination:=Cells(Dl1, col)
210               col = col + 2
220               If col = 7 Then ' ( pour 4 colonnes = 9)
230                   col = 1
240                   Dl1 = Range("A" & Rows.Count).End(xlUp).Row + 1
250               End If
260           Next
270       End With
280       Set Wss = Nothing: Set Plg = Nothing
End Sub

Le top!! Ca marche

Vraiment merci beaucoup!!!!!!!!

Re,

Penses à clore le sujet.

A bientôt. Cdlt

Excellente macro, seulement soucis de dernière minutes, une fois la macro exécute je souhaiterais nommé mes colonne et imprimé les titres et de-lors tous se décale d'une ligne sur l'ensemble du fichier, y'a t il un remède?

Encore merci

Bonjour,

Copier code ci-dessous en lieu et place du précédent.

Ne pas mettre d'entêtes de colonne. La macro s'en charge et formate un semblant de mise en page (lignes à répéter).

Cdlt

Option Explicit
Public Sub Mise_en_forme()
' Ctrl+w pour lancer la procédure
Dim Wss As Worksheet, wsd As Worksheet
Dim Dl As Long, Dl1 As Long
Dim lig As Long, col As Integer
Dim Nbp As Long, x As Long
Dim Plg As Range
10        With Application
20            .DisplayAlerts = False
30            .ScreenUpdating = False
40        End With
50        Set Wss = Worksheets("Feuil1")
60        On Error Resume Next
70        Worksheets("Feuil2").Delete
80        On Error GoTo 0
90        Application.DisplayAlerts = True
100       ActiveWorkbook.Worksheets.Add after:=Wss
110       ActiveSheet.Name = "Feuil2"
120       With Wss
              ' derligne non vide feuil1
130           Dl = .Range("A" & Rows.Count).End(xlUp).Row
              ' nombre de pages à l'impression
140           Nbp = .PageSetup.Pages.Count
              ' nombre de lignes par page
150           x = Application.RoundUp(Dl / Nbp, 0)
              ' derligne non vide feuil2
160           Dl1 = 1
170           col = 1
180           For lig = 1 To Dl Step x
190               Set Plg = .Range(.Cells(lig, 1), .Cells(lig, 1).Resize(x, 2))
200               Plg.Copy Destination:=Cells(Dl1, col)
210               col = col + 2
220               If col = 7 Then ' ( pour 4 colonnes = 9)
230                   col = 1
240                   Dl1 = Range("A" & Rows.Count).End(xlUp).Row + 1
250               End If
260           Next
270       End With
280       Rows("1:1").Insert
290       Range("A1:F1") = Array("Code", "Prix", "Code", "Prix", "Code", "Prix")
300       With ActiveSheet.PageSetup
310           .PrintTitleRows = "$1:$1"
320           .PrintTitleColumns = ""
330       End With
340       Set Wss = Nothing: Set Plg = Nothing
End Sub

Tout a fonctionné

Merci beaucoup!

Rechercher des sujets similaires à "suite chronologique colonne meme page"