Bonjour Pierre, J'ai enfin trouver une solution. Je me permets de mettre le code pour les personnes que cela interesseraient. Merci de ne pas rire, je ne suis pas un professionnel Marsouin Option Explicit Dim Haut_Detail As Double 'Pour calculer la hauteur de la section détail lors du Détail_Print Private Sub Détail_Print(Cancel As Integer, PrintCount As Integer) 'Formatage du tableau pour prendre en compte une éventuelle extension du contrôle _ vers le bas au cas où les données seraient plus grandes que la taille du contrôle '////////////////////////////////// Immat correspond au nom du champ extensible /////////////////////////////////////// ' ===== Déclaration ===== Dim oCtrl As control ' ===== On enlève le cadre de tous les contrôles ===== For Each oCtrl In Me.Section(acDetail).Controls ' On parcoure toutes les zones de texte de la section If TypeOf oCtrl Is TextBox Then ' On teste si ce sont des textbox oCtrl.BorderStyle = 0 ' On rend la bordure invisible de chaque contrôle oCtrl.BackStyle = 0 ' On rend le fond transparent de chaque contrôle Me.DrawWidth = 20 ' Epaisseur du trait en twips soit 1 point 'Trait vertical sur le côté gauche de chaque contrôle Me.Line (oCtrl.Left, oCtrl.Top)- (oCtrl.Left, Me.Immat.Height), vbBlack End If Next oCtrl 'Trait vertical sur le côté droit du tableau Me.Line (Me.Width, Me.Immat.Top)-(Me.Width, Me.Immat.Height), vbBlack Haut_Detail = Haut_Detail + Me.Immat.Height 'Cumule la hauteur de la section pour chaque enregistrement _ afin d'en définir la position Y pour le trait horizontal (Report_Page) de l'état 'Le code recommence pour l'enregistrement suivant End Sub Private Sub Report_Page() Me.DrawWidth = 20 'Epaisseur du trait en twips soit 1 point Dim CoordY As Integer CoordY = Me.Section(acHeader).Height + Me.EntêteGroupe2.Height + Haut_Detail Select Case Page 'Si le groupe est sur 2 pages, un trait sera placé en bas de tableau Case 1 'Si on est sur la 1° page 'Le trait commence à partir de la hauteur de l'entête d'état + hauteur de l'entête de groupe + hauteur de la section détail _ définie par la variable "Haut_Detail" de la section détail Me.Line (0, CoordY)- (Me.Width, CoordY), vbBlack Case Else 'Si on est sur une autre page, on ne prend pas en compte la hauteur de l'entête d'état Me.Line (0, Me.EntêteGroupe2.Height + Haut_Detail)- _ (Me.Width, Me.EntêteGroupe2.Height + Haut_Detail), vbBlack End Select Haut_Detail = 0 'On remet la variable de la hauteur de la section détail à 0 pour la prochaine page End Sub Private Sub PiedGroupe0_Print(Cancel As Integer, PrintCount As Integer) 'Trait horizontal en bas de chaque group |