GNT sans publicité, site mobile, fonctionnalitées exclusives...

numéroter les onglets ayant plusieurs pages

Le
gilles
Bonjour à tous,
Un fichier comportant plusieurs onglets
Certains onglets ont plusieurs pages
j'aimerais numéroter, à suivre, toutes les pages de tous les onglets, en
pied de page ou dans une cellule, en fonction du nbre total de pages
ex, pour 2 onglets:
l'onglet 1 comporte 3 pages : chaque page se numérote 1 de 5, 2 de 5, 3 de 5
l'onglet 2 comporte 2 pages : 4 de 5, 5 de 5

J'ai une cellule C2, dans l'onglet Ind F , qui collationne le nombre de
pages de tous les onglets
J'ai commencé un code mais qui ne restituee pas comme expliqué ci-dessus--

Sub page()
Dim intIndice As Integer
Dim intNbrFeuille As Integer
Dim intNbrFolio As Integer
intNbrFeuille = Worksheets.Count
intNbrFolio = intNbrFeuille

For intIndice = 1 To intNbrFeuille
If Worksheets(intIndice).Name <> "Ind F" Then
Worksheets(intIndice).Select
nbpages = Application.ExecuteExcel4Macro("GET.DOCUMENT(50)")
Range("C1").Value = nbpages
End If
Next

For intIndice = 1 To intNbrFeuille
If Worksheets(intIndice).Name <> "Ind F" Then
Worksheets(intIndice).Select
Range("A2").Value = "Folio"
'Range("A2").Value = "Folio " & intIndice ' & "/" & intNbrFolio
Range("B2").Value = intIndice & "/" '& intNbrFolio

Range("C2").Value = Sheets("Ind F").Range("C1") '.Value
End If
Next
Sheets("Ind F").Select
'End If
End Sub

Merci à celles et ceusses qui ont le Savoir tout puissant !
pour leur aide éventuelle
Gilles
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine
Lire les 8 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FFO
Le #18758721
Salut Gilles

Je te propose ce code :

For i = 1 To Sheets.Count
If Sheets(i).Name <> "Ind F" Then
With Sheets(i).PageSetup
.CenterFooter = "&P+" & n & "/" & Sheets("Ind F").Range("C2") & ""
End With
n = n + Sheets(i).HPageBreaks.Count + 1
End If
Next

Celà devrait te convenir

Dis moi !!!!!


"gilles" wrote:

Bonjour à tous,
Un fichier comportant plusieurs onglets
Certains onglets ont plusieurs pages
j'aimerais numéroter, à suivre, toutes les pages de tous les onglets, en
pied de page ou dans une cellule, en fonction du nbre total de pages
ex, pour 2 onglets:
l'onglet 1 comporte 3 pages : chaque page se numérote 1 de 5, 2 de 5, 3 de 5
l'onglet 2 comporte 2 pages : 4 de 5, 5 de 5

J'ai une cellule C2, dans l'onglet Ind F , qui collationne le nombre de
pages de tous les onglets
J'ai commencé un code mais qui ne restituee pas comme expliqué ci-dessus--

Sub page()
Dim intIndice As Integer
Dim intNbrFeuille As Integer
Dim intNbrFolio As Integer
intNbrFeuille = Worksheets.Count
intNbrFolio = intNbrFeuille

For intIndice = 1 To intNbrFeuille
If Worksheets(intIndice).Name <> "Ind F" Then
Worksheets(intIndice).Select
nbpages = Application.ExecuteExcel4Macro("GET.DOCUMENT(50)")
Range("C1").Value = nbpages
End If
Next

For intIndice = 1 To intNbrFeuille
If Worksheets(intIndice).Name <> "Ind F" Then
Worksheets(intIndice).Select
Range("A2").Value = "Folio"
'Range("A2").Value = "Folio " & intIndice ' & "/" & intNbrFolio
Range("B2").Value = intIndice & "/" '& intNbrFolio

Range("C2").Value = Sheets("Ind F").Range("C1") '.Value
End If
Next
Sheets("Ind F").Select
'End If
End Sub

Merci à celles et ceusses qui ont le Savoir tout puissant !
...pour leur aide éventuelle
Gilles
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...


gilles
Le #18759451
bonjour FFO,et Merci
excuse le retard : souvent des pb de connexions aux news groups.
d'ou plusieurs tentatives
ça marche partiellement:
sur le 1er onglet: rien, ce qui est normal
sur le 2ème onglet de 4 pages: la 1ère page n'a rien la 2ème a 2/, la 3ème a
3/ la 4ème a 4/
sur le 3ème onglet, qui devrait donc recommencer à 5, on a 3/ et 4/
4ème pareil, bizarrement, on recommence bien à 5/
.....
de plus, derrière le /, il ne place pas le nombre de folio de la cell C2

MERCI
Gilles
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...


"FFO" a écrit :

Salut Gilles

Je te propose ce code :

For i = 1 To Sheets.Count
If Sheets(i).Name <> "Ind F" Then
With Sheets(i).PageSetup
.CenterFooter = "&P+" & n & "/" & Sheets("Ind F").Range("C2") & ""
End With
n = n + Sheets(i).HPageBreaks.Count + 1
End If
Next

Celà devrait te convenir

Dis moi !!!!!


"gilles" wrote:

> Bonjour à tous,
> Un fichier comportant plusieurs onglets
> Certains onglets ont plusieurs pages
> j'aimerais numéroter, à suivre, toutes les pages de tous les onglets, en
> pied de page ou dans une cellule, en fonction du nbre total de pages
> ex, pour 2 onglets:
> l'onglet 1 comporte 3 pages : chaque page se numérote 1 de 5, 2 de 5, 3 de 5
> l'onglet 2 comporte 2 pages : 4 de 5, 5 de 5
>
> J'ai une cellule C2, dans l'onglet Ind F , qui collationne le nombre de
> pages de tous les onglets
> J'ai commencé un code mais qui ne restituee pas comme expliqué ci-dessus--
>
> Sub page()
> Dim intIndice As Integer
> Dim intNbrFeuille As Integer
> Dim intNbrFolio As Integer
> intNbrFeuille = Worksheets.Count
> intNbrFolio = intNbrFeuille
>
> For intIndice = 1 To intNbrFeuille
> If Worksheets(intIndice).Name <> "Ind F" Then
> Worksheets(intIndice).Select
> nbpages = Application.ExecuteExcel4Macro("GET.DOCUMENT(50)")
> Range("C1").Value = nbpages
> End If
> Next
>
> For intIndice = 1 To intNbrFeuille
> If Worksheets(intIndice).Name <> "Ind F" Then
> Worksheets(intIndice).Select
> Range("A2").Value = "Folio"
> 'Range("A2").Value = "Folio " & intIndice ' & "/" & intNbrFolio
> Range("B2").Value = intIndice & "/" '& intNbrFolio
>
> Range("C2").Value = Sheets("Ind F").Range("C1") '.Value
> End If
> Next
> Sheets("Ind F").Select
> 'End If
> End Sub
>
> Merci à celles et ceusses qui ont le Savoir tout puissant !
> ...pour leur aide éventuelle
> Gilles
> en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
> mais à chaque jour suffit sa peine...


FFO
Le #18759711
Rebonjour Gilles

Chez moi sur un exemple que j'ai créé celà fonctionne parfaitement

Peux tu me transmettre le tien par ce biais :

http://www.cijoint.fr/index.php

Afin que je l'analyse

Transmets moi le lien afin que je le récupère

Merci


"gilles" wrote:

bonjour FFO,et Merci
excuse le retard : souvent des pb de connexions aux news groups.
d'ou plusieurs tentatives
ça marche partiellement:
sur le 1er onglet: rien, ce qui est normal
sur le 2ème onglet de 4 pages: la 1ère page n'a rien la 2ème a 2/, la 3ème a
3/ la 4ème a 4/
sur le 3ème onglet, qui devrait donc recommencer à 5, on a 3/ et 4/
4ème pareil, bizarrement, on recommence bien à 5/
.....
de plus, derrière le /, il ne place pas le nombre de folio de la cell C2

MERCI
Gilles
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...


"FFO" a écrit :

> Salut Gilles
>
> Je te propose ce code :
>
> For i = 1 To Sheets.Count
> If Sheets(i).Name <> "Ind F" Then
> With Sheets(i).PageSetup
> .CenterFooter = "&P+" & n & "/" & Sheets("Ind F").Range("C2") & ""
> End With
> n = n + Sheets(i).HPageBreaks.Count + 1
> End If
> Next
>
> Celà devrait te convenir
>
> Dis moi !!!!!
>
>
> "gilles" wrote:
>
> > Bonjour à tous,
> > Un fichier comportant plusieurs onglets
> > Certains onglets ont plusieurs pages
> > j'aimerais numéroter, à suivre, toutes les pages de tous les onglets, en
> > pied de page ou dans une cellule, en fonction du nbre total de pages
> > ex, pour 2 onglets:
> > l'onglet 1 comporte 3 pages : chaque page se numérote 1 de 5, 2 de 5, 3 de 5
> > l'onglet 2 comporte 2 pages : 4 de 5, 5 de 5
> >
> > J'ai une cellule C2, dans l'onglet Ind F , qui collationne le nombre de
> > pages de tous les onglets
> > J'ai commencé un code mais qui ne restituee pas comme expliqué ci-dessus--
> >
> > Sub page()
> > Dim intIndice As Integer
> > Dim intNbrFeuille As Integer
> > Dim intNbrFolio As Integer
> > intNbrFeuille = Worksheets.Count
> > intNbrFolio = intNbrFeuille
> >
> > For intIndice = 1 To intNbrFeuille
> > If Worksheets(intIndice).Name <> "Ind F" Then
> > Worksheets(intIndice).Select
> > nbpages = Application.ExecuteExcel4Macro("GET.DOCUMENT(50)")
> > Range("C1").Value = nbpages
> > End If
> > Next
> >
> > For intIndice = 1 To intNbrFeuille
> > If Worksheets(intIndice).Name <> "Ind F" Then
> > Worksheets(intIndice).Select
> > Range("A2").Value = "Folio"
> > 'Range("A2").Value = "Folio " & intIndice ' & "/" & intNbrFolio
> > Range("B2").Value = intIndice & "/" '& intNbrFolio
> >
> > Range("C2").Value = Sheets("Ind F").Range("C1") '.Value
> > End If
> > Next
> > Sheets("Ind F").Select
> > 'End If
> > End Sub
> >
> > Merci à celles et ceusses qui ont le Savoir tout puissant !
> > ...pour leur aide éventuelle
> > Gilles
> > en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
> > mais à chaque jour suffit sa peine...


gilles
Le #18759811
Merci- je te le joins brut de fonderie
je suis sous xl2007
http://www.cijoint.fr/cjlink.php?fi...X9UmCG.xls
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...


"FFO" a écrit :

Salut Gilles

Je te propose ce code :

For i = 1 To Sheets.Count
If Sheets(i).Name <> "Ind F" Then
With Sheets(i).PageSetup
.CenterFooter = "&P+" & n & "/" & Sheets("Ind F").Range("C2") & ""
End With
n = n + Sheets(i).HPageBreaks.Count + 1
End If
Next

Celà devrait te convenir

Dis moi !!!!!


"gilles" wrote:

> Bonjour à tous,
> Un fichier comportant plusieurs onglets
> Certains onglets ont plusieurs pages
> j'aimerais numéroter, à suivre, toutes les pages de tous les onglets, en
> pied de page ou dans une cellule, en fonction du nbre total de pages
> ex, pour 2 onglets:
> l'onglet 1 comporte 3 pages : chaque page se numérote 1 de 5, 2 de 5, 3 de 5
> l'onglet 2 comporte 2 pages : 4 de 5, 5 de 5
>
> J'ai une cellule C2, dans l'onglet Ind F , qui collationne le nombre de
> pages de tous les onglets
> J'ai commencé un code mais qui ne restituee pas comme expliqué ci-dessus--
>
> Sub page()
> Dim intIndice As Integer
> Dim intNbrFeuille As Integer
> Dim intNbrFolio As Integer
> intNbrFeuille = Worksheets.Count
> intNbrFolio = intNbrFeuille
>
> For intIndice = 1 To intNbrFeuille
> If Worksheets(intIndice).Name <> "Ind F" Then
> Worksheets(intIndice).Select
> nbpages = Application.ExecuteExcel4Macro("GET.DOCUMENT(50)")
> Range("C1").Value = nbpages
> End If
> Next
>
> For intIndice = 1 To intNbrFeuille
> If Worksheets(intIndice).Name <> "Ind F" Then
> Worksheets(intIndice).Select
> Range("A2").Value = "Folio"
> 'Range("A2").Value = "Folio " & intIndice ' & "/" & intNbrFolio
> Range("B2").Value = intIndice & "/" '& intNbrFolio
>
> Range("C2").Value = Sheets("Ind F").Range("C1") '.Value
> End If
> Next
> Sheets("Ind F").Select
> 'End If
> End Sub
>
> Merci à celles et ceusses qui ont le Savoir tout puissant !
> ...pour leur aide éventuelle
> Gilles
> en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
> mais à chaque jour suffit sa peine...


FFO
Le #18769001
Rebonjour Gilles

Aprés analyse de ton document il apparait 2 éléments qui empèchent le bon
fonctionnement du code

Le code fonctionne sur le nombre de sauts de page de la feuille directement
lié aux données présentes dans chacune d'elle

Or pour un certain nombre d'onglet le nombre de page est plus important que
le nombre de saut de page car les dernières sont vides

Est il normale de numéroter les pages vides ????

Il faudrait soit compléter ces pages vides de données soit supprimmer ces
pages en sélectionnant toutes leurs lignes et de les supprimer


Pour le nombre global de feuilles à faire apparaitre dans tes indications de
ton message initial tu parlais de la cellule C2 de l'onglet "Ind F" portant
cette information :

"J'ai une cellule C2, dans l'onglet Ind F , qui collationne le nombre de
pages de tous les onglets"

Or dans ton document onglet "Ind F" l'information est en C1 et non C2

Soit tu mets l'information en C2 soit tu corriges la ligne du code :

.CenterFooter = "&P+" & n & "/" & Sheets("Ind F").Range("C2") & ""

ainsi

.CenterFooter = "&P+" & n & "/" & Sheets("Ind F").Range("C1") & ""


Aprés avoir réalisé ces modifications fais des essais et dis moi !!!!!
Publicité
Suivre les réponses
Poster une réponse
Anonyme