Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
[Résolu] [vba] utiliser le numéro de page d'une feuille
Salut tout le monde !
J'ai un gros soucis sur vba.
J'utilise un fichier de plusieurs feuilles sont certaines qui peuvent avoir plus d'une page. Et je voudrais obtenir une numérotation de page claire comme :
J'ai cherché à additionner "&P" du pied de page avec une variable "numeropage" qui a été préalablement incrémentée en fonction du nombre de pages précédentes mais quand je cherche à convertir "&P" avec Cint, ca refuse catégoriquement.
Mais le problème est que la valeur renvoyée est fixe pour un onglet, donc sur le pied de page de deux pages d'un même onglet j'aurai le même numéro de page...
Merci de m'aider car là je suis perdu, d'habitude je m'en sors toujours avec les topics déjà existant sur ce forum... snif 🙁
edit : l'erreur est une incompatibilité de type...
Re : [vba] utiliser le numéro de page d'une feuille
Bonjour,
Une piste avec le code suivant à copier dans un module standard.
Il vous faudra adapter la ligne
Exclu = Array("Exposé", "Pas d'impression")
avec le nom des éventuelles feuilles non candidates à l'impression.
Code:
Sub PrintGroupNumPages()
Dim Exclu
Dim S As Object 'on déclare Object pour prendre en compte WorkSheet et Graph
Dim i&
Dim cpt%
Dim bool As Boolean
Dim T()
'### A adapter (liste des feuilles à ne pas imprimer) ###
Exclu = Array("Exposé", "Pas d'impression")
'########################################################
For Each S In ActiveWorkbook.Sheets
bool = False
For i& = LBound(Exclu) To UBound(Exclu)
If S.Name = Exclu(i&) Then
bool = True
Exit For
End If
Next i&
If Not bool Then
cpt% = cpt% + 1
ReDim Preserve T(1 To cpt%)
T(cpt%) = S.Name
S.PageSetup.CenterFooter = "Page " & "&P" & "/" & "&N"
End If
Next S
Sheets(T).Select
ActiveWindow.SelectedSheets.PrintPreview
End Sub
Re : [vba] utiliser le numéro de page d'une feuille
Il semble que cela ne fonctionne pas.
Mon tableau Exclu est vide car je veux imprimer toutes les pages de toutes les feuilles. Par conséquent "bool" ne m'est pas utile. J'ai donc enlevé ces lignes de code. Il me reste :
Code:
Sub PrintGroupNumPages()
Dim S As Object 'on déclare Object pour prendre en compte WorkSheet et Graph
Dim i&
Dim cpt%
Dim T()
For Each S In ActiveWorkbook.Sheets
cpt% = cpt% + 1
ReDim Preserve T(1 To cpt%)
T(cpt%) = S.Name
S.PageSetup.CenterFooter = "Page " & "&P" & "/" & "&N"
Next S
End Sub
Mais cela numérote les pages de mes feuilles en revenant à la la numérotation 1 en changeant de feuille. J'ai donc :
Or je souhaite que la numérotation ne revienne pas à 1 d'une feuille à l'autre.
Si je comprends bien, le code que vous m'avez donné fait juste le tri des feuilles à ne pas imprimer et numérote celles qui sont candidates à l'impression. Or je voudrais imprimer toutes les feuilles. Peut-être que je n'ai pas été très clair. Désolé.
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD