Ordre des pages avec saut VBA

demongin

XLDnaute Nouveau
Bonjour la communauté,

Je rencontre une petite bizarerie avec une partie de mon code.
Je permet à l'utilisateur via des boutons d'afficher ou masquer des plages de cellules formant des pages A4 pour l'impression.
J'ai donc créé des macros en se sens et pour chaque cas de figure, j'ai automatisé la mise à jour des zones d'impressions comme des sauts de page.

Tout fonctionne à merveille, sauf que dans un cas de figure, l'ordre des pages ne suit plus la logique, c'est à dire ici, de gauche à droite et haut en bas.
Rien de rédhibitoire en soi, car il suffirait de remettre les pages dans l'ordre après l'impression.

Cela se présente ainsi :
- il y a 6 pages,
- fonctionnant 2 par 2,
- 4 sur un même niveau, 2 autres en dessous.

Je devrais donc obtenir cela :
[ 1 - 2 ] [ 3 - 4 ]
[ 5 - 6 ]

Or j'obtiens :
[ 3 - 4 ] [ 5 - 6 ]
[ 1 - 2 ]

et dans les cas suivants, pas de pb :
[ 1 - 2 ] [ 3 - 4 ]
ou :
[ 1 - 2 ]
[ 3 - 4 ]
ou encore seulement :
[ 1 - 2 ]

Y a t-il un ordre à respecter dans la désignation des sauts de page, ou même entre colonne et ligne ?
Ce phénomène me laisse pantois....!

Ci-dessous le code de ma macro Saut de Pages (SDP) ;
Il est long car le principe énoncé dans le premier post est reproduit sur de nombreuses pages, mais sans qu'il y ait de problème sur ces dernières.
Le soucis se produit uniquement sur la plage A79 - GJ201.

Code:
Sub SautDePage()
'
' Saut De Page Macro
' Macro enregistrÈe le 22/06/2010 
' Touche de raccourci du clavier: Ctrl+w
'

    ActiveSheet.Unprotect Password:="good"

'Bloque le recalcul automatique ‡ chacune des opÈration
    Application.Calculation = xlCalculationManual
    
'Fige l'Ècran pendant l'exÈcution des macros en arriËre plan
    Application.ScreenUpdating = False

'Supprime tous les sauts de page (pas ceux dÈlimitÈs par la zone d'impression)
    ActiveSheet.ResetAllPageBreaks

'Met en place du saut de page vertical
    ActiveWindow.SelectedSheets.VPageBreaks.Add Before:=Columns(49)

'Met en place des sauts de page de la partie sous-traitant sans rÈvision
    If Range("CS2").Value = "0" And Range("CS3").Value = "1" Then
      ActiveWindow.SelectedSheets.VPageBreaks.Add Before:=Columns(97)
      ActiveWindow.SelectedSheets.VPageBreaks.Add Before:=Columns(145)
      ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(265)
      ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(327)
    End If
 
'Met en place du saut de page 2 conditions : rÈvision + sous traitants
    If Range("CS2").Value = "1" And Range("CS3").Value = "1" Then
      ActiveWindow.SelectedSheets.VPageBreaks.Add Before:=Columns(97)
      ActiveWindow.SelectedSheets.VPageBreaks.Add Before:=Columns(145)
      ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(265)
      ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(327)
    End If
 
'Met en place des sauts de page de la partie dqe
    
  If Range("Av5").Value = "2" Then
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1587)
  ElseIf Range("Av5").Value = "3" Then
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1587)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1525)
  ElseIf Range("Av5").Value = "4" Then
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1587)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1525)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1463)
  ElseIf Range("Av5").Value = "5" Then
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1587)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1525)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1463)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1401)
  ElseIf Range("Av5").Value = "6" Then
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1587)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1525)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1463)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1401)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1339)
  ElseIf Range("Av5").Value = "7" Then
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1587)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1525)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1463)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1401)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1339)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1277)
  ElseIf Range("Av5").Value = "8" Then
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1587)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1525)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1463)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1401)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1339)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1277)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1215)
  ElseIf Range("Av5").Value = "9" Then
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1587)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1525)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1463)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1401)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1339)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1277)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1215)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1153)
  ElseIf Range("Av5").Value = "10" Then
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1587)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1525)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1463)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1401)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1339)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1277)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1215)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1153)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1091)
  ElseIf Range("Av5").Value = "11" Then
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1587)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1525)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1463)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1401)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1339)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1277)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1215)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1153)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1091)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1029)
  ElseIf Range("Av5").Value = "12" Then
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1587)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1525)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1463)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1401)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1339)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1277)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1215)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1153)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1091)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1029)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(967)
  ElseIf Range("Av5").Value = "13" Then
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1587)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1525)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1463)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1401)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1339)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1277)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1215)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1153)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1091)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1029)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(967)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(905)
  ElseIf Range("Av5").Value = "14" Then
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1587)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1525)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1463)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1401)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1339)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1277)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1215)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1153)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1091)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1029)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(967)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(905)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(843)
  ElseIf Range("Av5").Value = "15" Then
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1587)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1525)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1463)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1401)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1339)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1277)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1215)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1153)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1091)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1029)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(967)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(905)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(843)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(781)
  ElseIf Range("Av5").Value = "16" Then
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1587)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1525)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1463)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1401)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1339)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1277)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1215)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1153)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1091)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1029)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(967)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(905)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(843)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(781)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(719)
  ElseIf Range("Av5").Value = "17" Then
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1587)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1525)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1463)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1401)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1339)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1277)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1215)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1153)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1091)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1029)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(967)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(905)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(843)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(781)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(719)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(657)
  ElseIf Range("Av5").Value = "18" Then
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1587)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1525)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1463)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1401)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1339)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1277)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1215)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1153)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1091)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1029)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(967)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(905)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(843)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(781)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(719)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(657)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(595)
  ElseIf Range("Av5").Value = "19" Then
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1587)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1525)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1463)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1401)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1339)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1277)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1215)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1153)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1091)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1029)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(967)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(905)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(843)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(781)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(719)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(657)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(595)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(533)
  ElseIf Range("Av5").Value = "20" Then
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1587)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1525)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1463)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1401)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1339)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1277)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1215)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1153)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1091)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1029)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(967)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(905)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(843)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(781)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(719)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(657)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(595)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(533)
    ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(471)
  End If

'Met en place du saut de page de la partie avenant 1 ‡ 2
    If Range("CS4").Value = "2" Then
      ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1649)
    End If

'Met en place du saut de page de la partie avenant 1 ‡ 5
    If Range("CS4").Value = "1" Then
      ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1649)
      ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(1711)
    End If

'LibËre l'Ècran aprËs l'exÈcution des macros en arriËre plan
    Application.ScreenUpdating = True

'DÈbloque le recalcul automatique ‡ chacune des opÈration
    Application.Calculation = xlCalculationAutomatic
    
    ActiveSheet.Protect Password:="good", DrawingObjects:=True, Contents:=True, Scenarios:=True
    ActiveSheet.EnableSelection = xlUnlockedCells
    
    Range("A1").Select

End Sub


Merci encore pour l'aide que vous êtes susceptible de m'apporter.
 

demongin

XLDnaute Nouveau
Re : Ordre des pages avec saut VBA

Bonjour demongin,

Je n'ai jamais vu ça, pas de piste pour t'aider
Mais évite les fils en double...

https://www.excel-downloads.com/threads/ordre-des-pages-avec-saut-vba.144799/

Merci,

Mille excuses,j'ai du faire une erreur de manip en revenant sur la page.
J'ai effacé le texte du message et le titre du fil pour qu'un modo puisse le supprimer rapidement.

Sinon, pour mon soucis, je n'ai toujours rien trouvé ; c'est incompréhensible...
 
G

Guest

Guest
Re : Ordre des pages avec saut VBA

Bonjour,

As-tu l'option 'à droite puis vers le bas' cochée dans l'assistant mise en page onglet 'Feuille'?

Ou par VBA
Code:
ActiveSheet.PageSetUp.Order = xlOverThenDown

Sinon l'impression vas de haut en bas PUIS de gauche à droite.
A+
 
G

Guest

Guest
Re : Ordre des pages avec saut VBA

Re,
@Tototiti, moi non plus pas sûr d'avoir tout compris:rolleyes:.

De toutes façons dans excel il n'y a que 2 options, celle mentionnée plus haut ou 'xlDownThenOver'.

Si cela ne vient ni de l'une ni de l'autre, c'est que la vérité est ailleurs comme dirait Mulder:D 'Gestionnaire d'impression!?'

A+
 

demongin

XLDnaute Nouveau
Re : Ordre des pages avec saut VBA

Re,

J'aimerai bien vous faire une impression écran, mais sur PC je ne sais pas faire.
Il y a bien une touche "Imp écr", mais il ne se passe rien.

Quand au fichier, il fait presque 2 Mo, donc je ne peux pas le joindre ici.
 

demongin

XLDnaute Nouveau
Re : Ordre des pages avec saut VBA

Re,

Oui, bonne idée, des propriétés tordues cochées sur l'imprimante peut-être.

Si c'est possible, un bon essai serait peut-être d'essayer d'imprimer sur une autre imprimante

Je ne pense pas que cela puisse venir de là, car hormis ce cas de figure, tous les autres indiques un ordre de page correct.

Cela se vérifie aussi avec l'aperçu avant impression.

J'ai toutefois vérifier les propriétés du drivers d'impression et j'ai aussi choisie une autre imprimante, mais résultat identique.
 

demongin

XLDnaute Nouveau
Re : Ordre des pages avec saut VBA

J'ai réussi à faire une impression écran d'Excel sur mon problème et en respectant les 50 ko :



En tant cas, déjà un grand merci pour votre soutient à tous les deux. :)
 

Pièces jointes

  • Imp.zip
    41.7 KB · Affichages: 28
  • Imp.zip
    41.7 KB · Affichages: 24
  • Imp.zip
    41.7 KB · Affichages: 25

demongin

XLDnaute Nouveau
Re : Ordre des pages avec saut VBA

J'ai une bonne nouvelle ! J'ai trouvé d'où venait le problème.
Le soucis provenait de l'ordre des plages de zone d'impression !
Cela interfère vraisemblablement avec les sauts de page.
Mes plages sont obtenues séparément par le biais de condition et sont ensuite concactenées.

L'ordre normal attendu est le suivant et je vais ajouter la notion de thème pour le cas de figure posant problème :
Page 1 & 2 => Base
Page 3 & 4 => Sous Traitant
Page 4 & 6 => Révision
Page 7, 8, .... => Sous Traitant (suite)

Pourquoi j'introduis cette notion de thème : parce que je gère effectivement les choses par thème et la partie sous traitant comporte plusieurs plages distinctes répartie dans la Feuille.

Avant que je rajoute une nouvelle plage Sous Traitant (Page normalement en position 3 & 4), l'ordre des plages concacténé était le suivant :
Base ; Révision ; Sous Traitant (donc pages 5, 6, 7...)​

Après, cela donnait :
Base ; Révision ; Sous Traitant (idéalement, pages en position 3 & 4 + 7, 8, 9 ...)​

Du coup, sans pour autant qu'il y ait une logique avec l'ordre des pages affiché, lorsque la zone d'impression de ce qui devrait être les pages 3 & 4 de la partie sous traitant est traitée, la zone se situe alors en amont de la précédente (en haut, à droite) - un retour en arrière qui créé à priori un conflit.

J'ai donc revu la concactenation des plages pour que l'ordre chronologique soit respecté :
Cela donne :
Base ; Sous Traitant ; Révision ; Sous Traitant (suite).​

Je ne suis pas sûr d'avoir été clair, alors ce qu'il faut retenir, c'est que l'adjonction de plusieurs zones d'impression doit se faire dans l'ordre chronologique, de gauche à droite puis de haut en bas.

Merci à tous pour votre aide. :)
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16