!!! Nombre de pages !!!

  • Initiateur de la discussion Fabrice
  • Date de début
F

Fabrice

Guest
Bonjour tout le monde,

Je me pose une question en cette belle après midi:
Est-il possible d'afficher dans un UF le nombre de pages contenue d'une feuille et le nombre de page total dans le classeur???

est ce que quelqu'un se serait déjà posé la question??? :=)

Merci de votre réponse,
FAb
 
E

Eric C

Guest
Bonjour le forum
Bonjour Fabrice

Début de pistes :

Sub pages ()
MsgBox "Cette feuille comporte : " & ActiveSheet.HPageBreaks.Count + 1 & " " Pages"
end sub

Sub Feuilles ()
For i = 1 to Sheets.Count
Next i
MsgBox "Ce classeur comporte : " & I - 1 & " Feuilles"
End Sub

Je n'ai pas le temps de développer dans un USF.
@ + Eric C
 
Z

Zon

Guest
Salut,

Eric tu oublies les pages en colonne:

Function NbrPages&(F As Worksheet)
With F
NbrPages = (.HPageBreaks.Count + 1) * (.VPageBreaks.Count + 1)
End With
End Function


'donc pour le classeur entier, la collection worksheet pour éviter des erreurs avec les feuilles graphiques et autres.
dim Nb&
For i = 1 to workSheets.Count
nb=nb+nbrpages(worksheets(i))
Next i
textbox2=nb

A+++
 
F

Fabrice

Guest
Bonjour a vous deux!!!!

Non, non, je ne suis pas parti en voyage! ca serait trop beau!!!!

merci de vops réponses.
Je ne comprends pas pourquoi dans la solution de Zon, Vb me dit "erreur de compilation en sub attendu" ???

Sinon, est ce qu'on peut (sans pousser le bouchon trop long) faire la somme de toute les pages du classeur??? cad faire un UF qui reprendrait toutes les feuilles en donnant le nombre de pages correspondant et qui en ferait la somme en final???
Ex:
Feuil1 10 pages
Feuil2 15 pages
Feuil3 5 pages
Feuil4 20 pages
Total 40 pages

merci de votre aide déjà précieuse!!!
FAb
 
Z

Zon

Guest
Re,

Fabrice, sans ton code je ne peux dire avec exactitude ce qui t'arrive.

Pour ce qui est de ta question,

en rajoutant une listbox(c 'estc e que tu veux ?)
à mettre dans l'évènement initialize de ton USF,

Private Sub UserForm_Initialize()
dim T(),I&,Nb&
redim T(1 to worksheets.count,1)
for i=1 to worksheets.count
t(i,0)=worksheets(i).name
t(i,1)=nbrpages(worksheets(i))
nb=nb+t(i,1)
next i
with lenomdelalistbox ' à adpater
.columncount=2
.list=t
.additem "Nombre de pages dans classeur" & nb
end with
end sub

A+++
 
F

Fabrice

Guest
Re Zon

Voila mon fichier "test" joint.
il y a bien un "end sub"' à la fin mais on dirait qu'il ne le trouve pas!!!!

Merci de ta réponse
FAb

PS: dsl du delais de réponse mais je ne reçois pas de mail quand tu reponds!!!
 

Pièces jointes

  • XLDnbfeuilles.zip
    31 KB · Affichages: 38
Z

Zon

Guest
Re,

Ouh la la ! tu colles une foncion en plein milieu d'une procédure et tu n'as pas adapté le nom de la listbox

voici le bon code:

Private Sub UserForm_Initialize()
Dim T(), i&, Nb&
ReDim T(1 To Worksheets.Count, 1)
For i = 1 To Worksheets.Count
T(i, 0) = Worksheets(i).Name
T(i, 1) = NbrPages(Worksheets(i))
Nb = Nb + T(i, 1)
Next i
With ListBox1 ' à adpater
.ColumnCount = 2
.List = T
.AddItem "Nombre Total :"
.List(.ListCount - 1, 1) = Nb
End With
End Sub
Private Sub CommandButton1_Click()
'donc pour le classeur entier, la collection worksheet pour éviter des erreurs avec les feuilles graphiques et autres.
Dim Nb&
For i = 1 To Worksheets.Count
Nb = Nb + NbrPages(Worksheets(i))
Next i
TextBox2 = Nb

End Sub
Function NbrPages&(F As Worksheet)
With F
NbrPages = (.HPageBreaks.Count + 1) * (.VPageBreaks.Count + 1)
End With
End Function

A+++
 
E

Eric C

Guest
Bonjour le forum
Re Fabrice & Zon

Je me permets de reprendre le fichier de Zon que tu as amalgamé avec le code de mon USF qui n'avait plus rien à voir.
Par contre, j'ai testé sur 97 et il faut dans ce cas saisir toutes tes données avant de lancer le USF. Dans le cas contraire, les valeurs seront fausses. Je m'explique un peu mieux : (Sous 97) S'il y a des saisies déjà effectuées dans ton fichier et que en saisie de nouvelles, les valeurs seront inchangées. En espérant avoir été clair.
@ + Eric C

P.S pour Zon : Connaissant ta parfaite maîtrise de VBA et d'autres languages, pourrais je et afin de ne pas dérouter ce post, te poser une question dans ta BAL concernant la sauvegarde d'un fichier Word ? Merci de ton attention.
@ + de te lire
 

Pièces jointes

  • USFFabrice.zip
    12.3 KB · Affichages: 32
F

Fabrice

Guest
Re bonjour

Merci beaucoup pour vos réponses!
j'ai un souci!!!(Aie !! :=( ).
g l'impression que les valeurs données ne correpondent pas!
Pour infos, mes feuilles ne comportent que des zones texte!
est ce que vous savez d'où cela peut provenir???

FAb
 
F

Fabrice

Guest
Salut,

Je ne comprend pas pourquoi ma mise en page interfere! en faissant un apercu avant impression, on voit que mes zones textes sont parfaitement inclusent et ne débordent pas!!!!

comment expliquer ca???

Merci,
FAb
 

Discussions similaires

Réponses
5
Affichages
168
Réponses
10
Affichages
265

Statistiques des forums

Discussions
312 359
Messages
2 087 590
Membres
103 604
dernier inscrit
CAROETALEX59