Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Entête et pied de page en vba

19 réponses
Avatar
jacques
Bonjour,

Actuellement j=92utilise ce code pour un fichier Excel.

Je voudrais le compl=E9ter pour ins=E9rer :
1) Un Ent=EAte et un pied de page
2) Un saut de page apr=E8s x lignes d=92afficher sur la page.

'Existance d'un fichier mod=E8le
If Arg_Path & "" =3D "" Then
'Pas de fichier model
Set ExcelApp =3D
CreateObject("Excel.application").Workbooks.Add
Set ExcelSheet =3D ExcelApp.Worksheets(1)
Else
'Fichier mod=E8le
Set ExcelApp =3D GetObject(Arg_Path)
Set ExcelSheet =3D ExcelApp.Worksheets(1)
End If
ExcelApp.Windows(1).Visible =3D True

'Existance des donn=E9es
If Not (Arg_Rs.BOF =3D True And Arg_Rs.EOF =3D True) Then
'Il y a des donn=E9es =E0 exporter
Arg_Rs.MoveLast
Arg_Rs.MoveFirst
NbrChamps =3D Arg_Rs.Fields.Count

'Titre de colonne
For I =3D 0 To NbrChamps - 1
ExcelSheet.Cells(Arg_Ligne, I + Arg_Colonne) =3D
Arg_Rs(I).Name
Next

'Copie des infos
ExcelSheet.Cells(Arg_Ligne + 1, Arg_Colonne).CopyFromRecordset
Arg_Rs
'Mise en forme si arg_cadre =3D true
If Arg_MEF =3D True Then
'datage
With ExcelSheet.Range(ExcelSheet.Cells(Arg_Ligne
- 2, Arg_Colonne), ExcelSheet.Cells(Arg_Ligne - 2, Arg_Colonne +
NbrChamps - 1))
.Font.Italic =3D True
.Font.Bold =3D True
.Font.Color =3D 255
End With
'Cadre + couleur des titres
'With =3D la zone tableau
With
ExcelSheet.Range(ExcelSheet.Cells(Arg_Ligne, Arg_Colonne),
ExcelSheet.Cells(Arg_Ligne + Arg_Rs.RecordCount, Arg_Colonne +
NbrChamps - 1))
.Borders(xlInsideVertical).Weight =3D xlThin
.Borders(xlInsideHorizontal).Weight =3D
xlThin
.Borders(xlEdgeLeft).Weight =3D xlMedium
.Borders(xlEdgeTop).Weight =3D xlMedium
.Borders(xlEdgeBottom).Weight =3D xlMedium
.Borders(xlEdgeRight).Weight =3D xlMedium

End With

With ExcelSheet.Range(ExcelSheet.Cells(Arg_Ligne,
Arg_Colonne), ExcelSheet.Cells(Arg_Ligne, Arg_Colonne + NbrChamps -
1))
.Interior.ColorIndex =3D 37
.Borders(xlEdgeBottom).Weight =3D xlMedium
End With
End If
End If

Merci pour votre aide

Salutations

9 réponses

1 2
Avatar
jacques
On 11 déc, 01:10, isabelle wrote:
bonjour Jacques,

pour l'ent te et pied de page sur 2 lignes,

     With ActiveSheet.PageSetup
         .CenterHeader = "tete" & Chr(10) & "deuxi me ligne"
         .CenterFooter = "pied" & Chr(10) & "deuxi me ligne"
     End With

pour l'autre question je ne comprend pas ce que tu veut dire.

isabelle

Le 2010-12-10 04:19, jacques a crit :



> On 10 d c, 01:40, isabelle  wrote:
>> bonjour Jacques,

>> voici un fichier exemple :http://cjoint.com/?0mkbNuBEmCu

>> isabelle

>> .

>> Le 2010-12-09 19:14, jacques a crit :

>>>>> Bonsoir Isabelle,

>>>>> Ca marche, c' tait bien le point qui manquait.

>>>>> Maintenant je voudrais inserer des lignes apr s chaque saut de page .

>>>>> Peux-tu m'aider ?

>>>>> A+

>>>>> Salutations- Masquer le texte des messages pr c dents -

>>>> - Afficher le texte des messages pr c dents -

>>> Re Bonsoir Isabelle,

>>> La le code bloque sur xlDown, et je ne comprend pas pourquoi.

>>> Salutations- Masquer le texte des messages pr c dents -

>> - Afficher le texte des messages pr c dents -

> Bonjour Isabelle,

> Super le fichier exemple.

> Peux-tu le compl ter en ajoutant pour chaque page et sur deux lignes
> un Ent te de page et un pied de page?.

> De plus est-il possible d'avoir sur l'ent te de page les noms (Ex NOM,
> PRENOM, ADRESSE etc...;)
> des colonnes format es (Ex Largeur police centrer etc...;)?.

> Je te remercie par avance.

> A+

> Salutations- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Bonjour Isabelle,

http://cjoint.com/?0mlu7UQmBDo

Avec la fonction Access décrite dans mon premier message je crée un
classeur Excel brut présenté dans la photo (paragraphe 1), puis juste
avant la sauvegarde du classeur je voudrais faires différentes
manipulations, pour avoir la présentation suivant la photo du
(paragraphe 2.)

Il me reste à faire le formatage de la ligne bleu des noms des
colonnes (Hauteur, retour à la ligne, centrage vertical) et de
reproduire cette ligne sur chaque page.

A+

Et bon dimanche.

Salutations.
Avatar
isabelle
bonjour Jacques,

je ne suis pas sur de bien comprendre le "reproduire cette ligne sur chaque page"

alors c'est peut être ca :

For Each f In Worksheets
f.Select
With Range(Cells(1, 1), Cells(1, Range("IV1").End(xlToLeft).Column))
.Interior.ColorIndex = 34
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = True
.Rows.AutoFit
End With
Next
End Sub

ou bien :

Sheets("Feuil1").Select
With Range(Cells(1, 1), Cells(1, Range("IV1").End(xlToLeft).Column))
.Interior.ColorIndex = 34
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = True
.Rows.AutoFit
End With

Rows(1).Copy
For Each f In Worksheets
f.Select
Range("A1").Select
ActiveSheet.Paste
Next
Application.CutCopyMode = False

ou bien

que la première ligne de l'onglet apparaissent sur chacune de ses pages à l'aperçu ou à l'impression

ActiveSheet.PageSetup.PrintTitleRows = "$1:$1"

@+
et bon dimanche à toi également

isabelle


Le 2010-12-11 14:59, jacques a écrit :

Bonjour Isabelle,

http://cjoint.com/?0mlu7UQmBDo

Avec la fonction Access décrite dans mon premier message je crée un
classeur Excel brut présenté dans la photo (paragraphe 1), puis juste
avant la sauvegarde du classeur je voudrais faires différentes
manipulations, pour avoir la présentation suivant la photo du
(paragraphe 2.)

Il me reste à faire le formatage de la ligne bleu des noms des
colonnes (Hauteur, retour à la ligne, centrage vertical) et de
reproduire cette ligne sur chaque page.

A+

Et bon dimanche.

Salutations.
Avatar
jacques
On 11 déc, 21:52, isabelle wrote:
bonjour Jacques,

je ne suis pas sur de bien comprendre le "reproduire cette ligne sur chaq ue page"

alors c'est peut tre ca :

For Each f In Worksheets
   f.Select
   With Range(Cells(1, 1), Cells(1, Range("IV1").End(xlToLeft).Column ))
     .Interior.ColorIndex = 34
     .HorizontalAlignment = xlCenter
     .VerticalAlignment = xlCenter
     .WrapText = True
     .Rows.AutoFit
   End With
Next
End Sub

ou bien :

Sheets("Feuil1").Select
   With Range(Cells(1, 1), Cells(1, Range("IV1").End(xlToLeft).Column ))
     .Interior.ColorIndex = 34
     .HorizontalAlignment = xlCenter
     .VerticalAlignment = xlCenter
     .WrapText = True
     .Rows.AutoFit
   End With

   Rows(1).Copy
  For Each f In Worksheets
     f.Select
     Range("A1").Select
     ActiveSheet.Paste
  Next
Application.CutCopyMode = False

ou bien

que la premi re ligne de l'onglet apparaissent sur chacune de ses pages l 'aper u ou l'impression

ActiveSheet.PageSetup.PrintTitleRows = "$1:$1"

@+
et bon dimanche toi galement

isabelle

Le 2010-12-11 14:59, jacques a crit :



> Bonjour Isabelle,

>http://cjoint.com/?0mlu7UQmBDo

> Avec la fonction Access d crite dans mon premier message je cr e un
> classeur Excel brut pr sent dans la photo (paragraphe 1), puis juste
> avant la sauvegarde du classeur je voudrais faires diff rentes
> manipulations, pour avoir la pr sentation suivant la photo du
> (paragraphe 2.)

> Il me reste faire le formatage de la ligne bleu des noms des
> colonnes (Hauteur, retour la ligne, centrage vertical) et de
> reproduire cette ligne sur chaque page.

> A+

> Et bon dimanche.

> Salutations.- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Bonjour Isabelle,

C'est cette ligne qui a répondu à mon problème:

ActiveSheet.PageSetup.PrintTitleRows = "$1:$1"

Par contre si j'édite les différentes lignes de code est-ce que tu
pourras
aléger son écriture.

Merci par avance.

A+

Salutations
Avatar
isabelle
peut tu mettre ton fichier sur cjoint ?
http://www.cjoint.com
isabelle


Le 2010-12-13 06:09, jacques a écrit :

Bonjour Isabelle,

C'est cette ligne qui a répondu à mon problème:

ActiveSheet.PageSetup.PrintTitleRows = "$1:$1"

Par contre si j'édite les différentes lignes de code est-ce que tu
pourras
aléger son écriture.

Merci par avance.

A+

Salutations


Avatar
jacques
On 13 déc, 19:58, isabelle wrote:
peut tu mettre ton fichier sur cjoint   ?http://www.cjoint.com
isabelle

Le 2010-12-13 06:09, jacques a écrit :





> Bonjour Isabelle,

> C'est cette ligne qui a répondu à mon problème:

> ActiveSheet.PageSetup.PrintTitleRows = "$1:$1"

> Par contre si j'édite les différentes lignes de code est-ce que tu
> pourras
> aléger son écriture.

> Merci par avance.

> A+

> Salutations- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Bonsoir Isabelle,

Par fichier tu entends Feuille Excel avec le code.
Si oui dans mon cas le code se trouve dans un formulaires Access, et
si besoin je pourrais
faire et mettre une base allégée sur cjoint.

Je joins tout de même mes lignes de codes, je précise que les lignes
entourées posent problème.

Salutations


Private Sub Test_BtnExportExcel_Click()
On Error GoTo Test_Err
Dim I As Integer

Chemin = ""

Set rs = CurrentDb.OpenRecordset(strsql, dbOpenDynaset)
Set Excl = fExportExcel(Chemin, rs, True, 1, 1)

Path = CurrentProject.Path

With Excl.Sheets(1)
'Renomme les champs
.Cells(1, 3) = "Nom"
.Cells(1, 9) = "Date de naissance"
.Cells(1, 17) = "Profes."
.Cells(1, 18) = "Activ."
.Cells(1, 19) = "Asso."

'Supprime les colonnes
.Columns("T:AE").Delete
.Columns("A:B").Delete
.Columns("C:E").Delete

'Hauteur de la ligne
.Rows(1).RowHeight = 47.25

'Largeur des colonnes, Centrage vertical et horizontal
.Columns("A:A").ColumnWidth = 13
.Cells(1, 1).HorizontalAlignment = xlCenter
.Columns("A:A").VerticalAlignment = xlCenter

.Columns("B:B").ColumnWidth = 5.4
.Cells(1, 2).HorizontalAlignment = xlCenter
.Columns("B:B").VerticalAlignment = xlCenter
.Columns("B:B").WrapText = True

.Columns("C:C").ColumnWidth = 10.6
.Cells(1, 3).HorizontalAlignment = xlCenter
.Columns("C:C").VerticalAlignment = xlCenter

.Columns("D:D").ColumnWidth = 8.6
.Columns("D:D").HorizontalAlignment = xlCenter
.Columns("D:D").VerticalAlignment = xlCenter
.Columns("D:D").WrapText = True

.Columns("E:E").ColumnWidth = 3.3
.Columns("E:E").HorizontalAlignment = xlCenter
.Columns("E:E").VerticalAlignment = xlCenter
.Columns("E:E").WrapText = True

.Columns("F:F").ColumnWidth = 10.6
.Cells(1, 6).HorizontalAlignment = xlCenter
.Columns("F:F").VerticalAlignment = xlCenter
.Columns("F:F").WrapText = True

.Columns("G:G").ColumnWidth = 22.6
.Cells(1, 7).HorizontalAlignment = xlCenter
.Columns("G:G").VerticalAlignment = xlCenter
.Columns("G:G").WrapText = True

.Columns("H:H").ColumnWidth = 6.4
.Columns("H:H").HorizontalAlignment = xlCenter
.Columns("H:H").VerticalAlignment = xlCenter

.Columns("I:I").ColumnWidth = 10.6
.Cells(1, 9).HorizontalAlignment = xlCenter
.Columns("I:I").VerticalAlignment = xlCenter

.Columns("J:J").ColumnWidth = 3.3
.Columns("J:J").HorizontalAlignment = xlCenter
.Columns("J:J").VerticalAlignment = xlCenter

.Columns("K:K").ColumnWidth = 25
.Cells(1, 11).HorizontalAlignment = xlCenter
.Columns("K:K").VerticalAlignment = xlCenter

.Columns("L:L").ColumnWidth = 4
.Columns("L:L").HorizontalAlignment = xlCenter
.Columns("L:L").VerticalAlignment = xlCenter

.Columns("M:M").ColumnWidth = 3.7
.Columns("M:M").HorizontalAlignment = xlCenter
.Columns("M:M").VerticalAlignment = xlCenter

.Columns("N:N").ColumnWidth = 5
.Columns("N:N").HorizontalAlignment = xlCenter
.Columns("N:N").VerticalAlignment = xlCenter


With .PageSetup
'en-tête de page
.CenterHeader = "&G&18&KFF0000&""Comic Sans Ms""Liste des
bénéficiaires" & "&B" & Chr(10) & " " & Year(CDate(DébutSaison)) & "
- " & Year(CDate(FinSaison)) '<-- texte (style gras + taille 12 +
style police)

'en-tête de page
.Orientation = xlLandscape

'Affichage Portrait ou Paysage
.LeftFooter = "&I&D / &T" '<-- date / heure (style italique)
.RightFooter = "&8&P/&N" '<-- numéro de page / nombre de
pages (taille 8)

'Affichage des titres sur chaque pages
.PrintTitleRows = "$1:$1"

'*******************************************************************
'*
*
'* 'Saut de
page *
'* For I = 29 To 90 Step
29 *
'* .HPageBreaks.Add .Range("A" & I) *
'*
Next
*
'*
*
'* en débogage le code ne boucle pas sur For I *
'*
*
'*******************************************************************

'*******************************************************************
'* 'Marges de la
page *
'* .LeftMargin = Application.InchesToPoints(0.196) *
'* .RightMargin = Aplication.InchesToPoints(0.196) *
'* .TopMargin = Aplication.InchesToPoints(1.063) *
'*
*
'* Je n'arrive pas à faire cette partie, elle me crée une *
'* Erreur sur
InchesToPoints *
'*
*
'*******************************************************************
End With
End With


'Sauvegarde d'Excel
Excl.SaveAs Path & "" & "Dossier ExcelAssurance" & " " &
Year(CDate(DébutSaison)) & " - " & Year(CDate(FinSaison)) & ".xlsx"
Excl.Application.Quit

MsgBox "Tableau Excel Terminé"

Set Excl = Nothing
Exit Sub
Test_Err:

If err.Number <> 91 Then
MsgBox "Une erreur inattendue est apparue . L'erreur N° " &
err.Number & " ( " & err.Description & " )! Contactez
l'administrateur.", vbOKOnly + vbCritical, "Erreur inattendue !"
End If
Set Excl = Nothing
Set rs = Nothing
End Sub
Avatar
isabelle
bonjour Jacques,

la méthode InchesToPoints s'applique à l'objet "application" mais cette objet n'est pas défini dans ton code,
tu pourrais par contre utilisé les propriétées Margin en convertissant la valeur pouce en point


With .PageSetup
.LeftMargin = 70 ' de 70 à 72 = 2.5 cm sur mon écran
End With

il faut adapter à chaque écran.

Points Pixels Centimètres Pouces
18 24 0.635 0.25
36 48 1.27 0.5
72 96 2.54 1
108 144 3.81 1.5
144 192 5.08 2
180 240 6.35 2.5


isabelle



ton code n'

Le 2010-12-21 20:01, jacques a écrit :

Bonsoir Isabelle,

Par fichier tu entends Feuille Excel avec le code.
Si oui dans mon cas le code se trouve dans un formulaires Access, et
si besoin je pourrais
faire et mettre une base allégée sur cjoint.

Je joins tout de même mes lignes de codes, je précise que les lignes
entourées posent problème.

Salutations


Private Sub Test_BtnExportExcel_Click()
On Error GoTo Test_Err
Dim I As Integer

Chemin = ""

Set rs = CurrentDb.OpenRecordset(strsql, dbOpenDynaset)
Set Excl = fExportExcel(Chemin, rs, True, 1, 1)

Path = CurrentProject.Path

With Excl.Sheets(1)
'Renomme les champs
.Cells(1, 3) = "Nom"
.Cells(1, 9) = "Date de naissance"
.Cells(1, 17) = "Profes."
.Cells(1, 18) = "Activ."
.Cells(1, 19) = "Asso."

'Supprime les colonnes
.Columns("T:AE").Delete
.Columns("A:B").Delete
.Columns("C:E").Delete

'Hauteur de la ligne
.Rows(1).RowHeight = 47.25

'Largeur des colonnes, Centrage vertical et horizontal
.Columns("A:A").ColumnWidth = 13
.Cells(1, 1).HorizontalAlignment = xlCenter
.Columns("A:A").VerticalAlignment = xlCenter

.Columns("B:B").ColumnWidth = 5.4
.Cells(1, 2).HorizontalAlignment = xlCenter
.Columns("B:B").VerticalAlignment = xlCenter
.Columns("B:B").WrapText = True

.Columns("C:C").ColumnWidth = 10.6
.Cells(1, 3).HorizontalAlignment = xlCenter
.Columns("C:C").VerticalAlignment = xlCenter

.Columns("D:D").ColumnWidth = 8.6
.Columns("D:D").HorizontalAlignment = xlCenter
.Columns("D:D").VerticalAlignment = xlCenter
.Columns("D:D").WrapText = True

.Columns("E:E").ColumnWidth = 3.3
.Columns("E:E").HorizontalAlignment = xlCenter
.Columns("E:E").VerticalAlignment = xlCenter
.Columns("E:E").WrapText = True

.Columns("F:F").ColumnWidth = 10.6
.Cells(1, 6).HorizontalAlignment = xlCenter
.Columns("F:F").VerticalAlignment = xlCenter
.Columns("F:F").WrapText = True

.Columns("G:G").ColumnWidth = 22.6
.Cells(1, 7).HorizontalAlignment = xlCenter
.Columns("G:G").VerticalAlignment = xlCenter
.Columns("G:G").WrapText = True

.Columns("H:H").ColumnWidth = 6.4
.Columns("H:H").HorizontalAlignment = xlCenter
.Columns("H:H").VerticalAlignment = xlCenter

.Columns("I:I").ColumnWidth = 10.6
.Cells(1, 9).HorizontalAlignment = xlCenter
.Columns("I:I").VerticalAlignment = xlCenter

.Columns("J:J").ColumnWidth = 3.3
.Columns("J:J").HorizontalAlignment = xlCenter
.Columns("J:J").VerticalAlignment = xlCenter

.Columns("K:K").ColumnWidth = 25
.Cells(1, 11).HorizontalAlignment = xlCenter
.Columns("K:K").VerticalAlignment = xlCenter

.Columns("L:L").ColumnWidth = 4
.Columns("L:L").HorizontalAlignment = xlCenter
.Columns("L:L").VerticalAlignment = xlCenter

.Columns("M:M").ColumnWidth = 3.7
.Columns("M:M").HorizontalAlignment = xlCenter
.Columns("M:M").VerticalAlignment = xlCenter

.Columns("N:N").ColumnWidth = 5
.Columns("N:N").HorizontalAlignment = xlCenter
.Columns("N:N").VerticalAlignment = xlCenter


With .PageSetup
'en-tête de page
.CenterHeader = "&G&18&KFF0000&""Comic Sans Ms""Liste des
bénéficiaires"& "&B"& Chr(10)& " "& Year(CDate(DébutSaison))& "
- "& Year(CDate(FinSaison)) '<-- texte (style gras + taille 12 +
style police)

'en-tête de page
.Orientation = xlLandscape

'Affichage Portrait ou Paysage
.LeftFooter = "&I&D /&T" '<-- date / heure (style italique)
.RightFooter = "&8&P/&N" '<-- numéro de page / nombre de
pages (taille 8)

'Affichage des titres sur chaque pages
.PrintTitleRows = "$1:$1"

'*******************************************************************
'*
*
'* 'Saut de
page *
'* For I = 29 To 90 Step
29 *
'* .HPageBreaks.Add .Range("A"& I) *
'*
Next
*
'*
*
'* en débogage le code ne boucle pas sur For I *
'*
*
'*******************************************************************

'*******************************************************************
'* 'Marges de la
page *
'* .LeftMargin = Application.InchesToPoints(0.196) *
'* .RightMargin = Aplication.InchesToPoints(0.196) *
'* .TopMargin = Aplication.InchesToPoints(1.063) *
'*
*
'* Je n'arrive pas à faire cette partie, elle me crée une *
'* Erreur sur
InchesToPoints *
'*
*
'*******************************************************************
End With
End With


'Sauvegarde d'Excel
Excl.SaveAs Path& ""& "Dossier ExcelAssurance"& " "&
Year(CDate(DébutSaison))& " - "& Year(CDate(FinSaison))& ".xlsx"
Excl.Application.Quit

MsgBox "Tableau Excel Terminé"

Set Excl = Nothing
Exit Sub
Test_Err:

If err.Number<> 91 Then
MsgBox "Une erreur inattendue est apparue . L'erreur N° "&
err.Number& " ( "& err.Description& " )! Contactez
l'administrateur.", vbOKOnly + vbCritical, "Erreur inattendue !"
End If
Set Excl = Nothing
Set rs = Nothing
End Sub
Avatar
jacques
On 22 déc, 07:20, isabelle wrote:
bonjour Jacques,

la m thode InchesToPoints s'applique l'objet "application" mais cette obj et n'est pas d fini dans ton code,
tu pourrais par contre utilis les propri t es Margin en convertissant la valeur pouce en point

With .PageSetup
     .LeftMargin = 70  ' de 70 72 = 2.5 cm sur mon cran
End With

il faut adapter chaque cran.

Points  Pixels  Centim tres   Pouces
18      24      0.635   0.25
36      48      1.27    0.5
72      96      2.54    1
108     144     3.81    1.5
144     192     5.08    2
180     240     6.35    2.5

isabelle

ton code n'

Le 2010-12-21 20:01, jacques a crit :



> Bonsoir Isabelle,

> Par fichier tu entends Feuille Excel avec le code.
> Si oui dans mon cas le code se trouve dans un formulaires Access, et
> si besoin je pourrais
> faire et mettre une base all g e sur cjoint.

> Je joins tout de m me mes lignes de codes, je pr cise que les lignes
> entour es posent probl me.

> Salutations

> Private Sub Test_BtnExportExcel_Click()
> On Error GoTo Test_Err
> Dim I As Integer

>   Chemin = ""

>   Set rs = CurrentDb.OpenRecordset(strsql, dbOpenDynaset)
>   Set Excl = fExportExcel(Chemin, rs, True, 1, 1)

>   Path = CurrentProject.Path

>   With Excl.Sheets(1)
>      'Renomme les champs
>      .Cells(1, 3) = "Nom"
>      .Cells(1, 9) = "Date de naissance"
>      .Cells(1, 17) = "Profes."
>      .Cells(1, 18) = "Activ."
>      .Cells(1, 19) = "Asso."

>      'Supprime les colonnes
>      .Columns("T:AE").Delete
>      .Columns("A:B").Delete
>      .Columns("C:E").Delete

>      'Hauteur de la ligne
>      .Rows(1).RowHeight = 47.25

>      'Largeur des colonnes, Centrage vertical et horizontal
>      .Columns("A:A").ColumnWidth = 13
>      .Cells(1, 1).HorizontalAlignment = xlCenter
>      .Columns("A:A").VerticalAlignment = xlCenter

>      .Columns("B:B").ColumnWidth = 5.4
>      .Cells(1, 2).HorizontalAlignment = xlCenter
>      .Columns("B:B").VerticalAlignment = xlCenter
>      .Columns("B:B").WrapText = True

>      .Columns("C:C").ColumnWidth = 10.6
>      .Cells(1, 3).HorizontalAlignment = xlCenter
>      .Columns("C:C").VerticalAlignment = xlCenter

>      .Columns("D:D").ColumnWidth = 8.6
>      .Columns("D:D").HorizontalAlignment = xlCenter
>      .Columns("D:D").VerticalAlignment = xlCenter
>      .Columns("D:D").WrapText = True

>      .Columns("E:E").ColumnWidth = 3.3
>      .Columns("E:E").HorizontalAlignment = xlCenter
>      .Columns("E:E").VerticalAlignment = xlCenter
>      .Columns("E:E").WrapText = True

>      .Columns("F:F").ColumnWidth = 10.6
>      .Cells(1, 6).HorizontalAlignment = xlCenter
>      .Columns("F:F").VerticalAlignment = xlCenter
>      .Columns("F:F").WrapText = True

>      .Columns("G:G").ColumnWidth = 22.6
>      .Cells(1, 7).HorizontalAlignment = xlCenter
>      .Columns("G:G").VerticalAlignment = xlCenter
>      .Columns("G:G").WrapText = True

>      .Columns("H:H").ColumnWidth = 6.4
>      .Columns("H:H").HorizontalAlignment = xlCenter
>      .Columns("H:H").VerticalAlignment = xlCenter

>      .Columns("I:I").ColumnWidth = 10.6
>      .Cells(1, 9).HorizontalAlignment = xlCenter
>      .Columns("I:I").VerticalAlignment = xlCenter

>      .Columns("J:J").ColumnWidth = 3.3
>      .Columns("J:J").HorizontalAlignment = xlCenter
>      .Columns("J:J").VerticalAlignment = xlCenter

>      .Columns("K:K").ColumnWidth = 25
>      .Cells(1, 11).HorizontalAlignment = xlCenter
>      .Columns("K:K").VerticalAlignment = xlCenter

>      .Columns("L:L").ColumnWidth = 4
>      .Columns("L:L").HorizontalAlignment = xlCenter
>      .Columns("L:L").VerticalAlignment = xlCenter

>      .Columns("M:M").ColumnWidth = 3.7
>      .Columns("M:M").HorizontalAlignment = xlCenter
>      .Columns("M:M").VerticalAlignment = xlCenter

>      .Columns("N:N").ColumnWidth = 5
>      .Columns("N:N").HorizontalAlignment = xlCenter
>      .Columns("N:N").VerticalAlignment = xlCenter

>      With .PageSetup
>           'en-t te de page
>           .CenterHeader = "&G&18&KFF0000&""Comic Sans Ms""L iste des
> b n ficiaires"&  "&B"&  Chr(10)&  "   "&  Year(CDate(D butSai son))&  "
> - "&  Year(CDate(FinSaison)) '<-- texte (style gras + taille 12 +
> style police)

>           'en-t te de page
>           .Orientation = xlLandscape

>           'Affichage Portrait ou Paysage
>           .LeftFooter = "&I&D /&T" '<-- date / heure (style italique)
>           .RightFooter = "&8&P/&N" '<-- num ro de page / no mbre de
> pages (taille 8)

>           'Affichage des titres sur chaque pages
>           .PrintTitleRows = "$1:$1"

> '*******************************************************************
> '*
> *
> '*   'Saut de
> page                                                           *
> '*    For I = 29 To 90 Step
> 29                                          *
> '*      .HPageBreaks.Add .Range("A"&  I)                          *
> '*
> Next
> *
> '*
> *
> '*     en d bogage le code ne boucle pas sur For I             *
> '*
> *
> '*******************************************************************

> '*******************************************************************
> '*    'Marges de la
> page                                                  *
> '*    .LeftMargin = Application.InchesToPoints(0.196)        *
> '*    .RightMargin = Aplication.InchesToPoints(0.196)       *
> '*    .TopMargin = Aplication.InchesToPoints(1.063)          *
> '*
> *
> '*    Je n'arrive pas faire cette partie, elle me cr e une     *
> '*    Erreur sur
> InchesToPoints                                         *
> '*
> *
> '*******************************************************************
>     End With
> End With

>     'Sauvegarde d'Excel
>      Excl.SaveAs Path&  ""&  "Dossier ExcelAssurance"&  "   "&
> Year(CDate(D butSaison))&  " - "&  Year(CDate(FinSaison))&  ".xls x"
>      Excl.Application.Quit

>      MsgBox "Tableau Excel Termin "

>      Set Excl = Nothing
> Exit Sub
> Test_Err:

> If err.Number<>  91 Then
>         MsgBox "Une erreur inattendue est apparue . L'erreur N "&
> err.Number&  " ( "&  err.Description&  " )! Contactez
> l'administrateur.", vbOKOnly + vbCritical, "Erreur inattendue !"
> End If
> Set Excl = Nothing
> Set rs = Nothing
> End Sub- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Bonsoir Isabelle,

En faisant la conversion en pouces les marges fonctionnent très bien.

Par contre je n'arrive pas à regler ce problème:

'***************************************************************
'*
*
'* 'Saut de
page
'* For I = 29 To 90 Step
29
'* .HPageBreaks.Add.Range("A" & I)
'* Next
*
'* en débogage le code ne boucle pas sur For I
'*
*
'**************************************************************

Merci pour ta patience.

Salutations
Avatar
isabelle
bonjour Jacques,

il faut mettre un End With à With .PageSetup pour que .HPageBreaks s'applique à Excl.Sheets(1)
et enlever un End With juste avant 'Sauvegarde d'Excel


End With
For I = 29 To 90 Step 29
.HPageBreaks.Add.Range("A" & I)
Next

je te souhaite de bonne fête,
isabelle


Le 2010-12-22 20:31, jacques a écrit :

Bonsoir Isabelle,

En faisant la conversion en pouces les marges fonctionnent très bien.

Par contre je n'arrive pas à regler ce problème:

'***************************************************************
'*
*
'* 'Saut de
page
'* For I = 29 To 90 Step
29
'* .HPageBreaks.Add.Range("A"& I)
'* Next
*
'* en débogage le code ne boucle pas sur For I
'*
*
'**************************************************************

Merci pour ta patience.

Salutations

Avatar
jacques
On 23 déc, 04:17, isabelle wrote:
bonjour Jacques,

il faut mettre un End With With .PageSetup pour que .HPageBreaks s'appliq ue Excl.Sheets(1)
et enlever un End With juste avant 'Sauvegarde d'Excel

End With
For I = 29 To 90 Step 29
      .HPageBreaks.Add.Range("A" & I)
Next

je te souhaite de bonne f te,
isabelle

Le 2010-12-22 20:31, jacques a crit :



> Bonsoir Isabelle,

> En faisant la conversion en pouces les marges fonctionnent tr s bien.

> Par contre je n'arrive pas regler ce probl me:

> '***************************************************************
> '*
> *
> '*   'Saut de
> page
> '*    For I = 29 To 90 Step
> 29
> '*      .HPageBreaks.Add.Range("A"&  I)
> '*  Next
> *
> '*     en d bogage le code ne boucle pas sur For I
> '*
> *
> '**************************************************************

> Merci pour ta patience.

> Salutations- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -



Bonjour Isabelle,

Super tout fonctionne.

et bonne fête de fin d'année à toi également

Jacques
1 2