Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Numero de page dans cellule...

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 !

Absinth

XLDnaute Junior
Hello,

Petite question:

Y a t il une formule pour que dans une case, j'obtienne:


ou x est la page courante et y le nombre total de page...

(je ne sais pas à l'avance combien de pages au total fera le document à l'impression...)

PS: par page j'entends les pages imprimées, pas les feuilles du classeur 😉

Merci d'avance
Absinth
 
Re : Numero de page dans cellule...

Hello,

euh, et bien parce que ce sont des fiches de securité norme ISO je-ne-sais-plus-quel-numero machin et que la mise en page doit etre selon leurs normes... avec le n° de page dans une case à droite du titre... 😉
 
Re : Numero de page dans cellule...

Bonjour,

Il n'y a pas une "formule" mais il y a moyen de le faire via la petite usine à gaz ci-dessous en comptant les sauts de page.
Remarque : il faut que la zone d'impression soit préalablement définie.
Code:
Sub test_numpage()
Dim i As Integer, j As Integer, c As Range

'si la zone d'impression est vide on quitte la procédure
If ActiveSheet.PageSetup.PrintArea = "" Then Exit Sub

'en cas de sélection d'une cellule en dehors de la zone d'impression
Set c = Intersect(Range(ActiveCell.Address), Range(ActiveSheet.PageSetup.PrintArea))
    If c Is Nothing Then
        MsgBox "veuillez sélectionner une cellule dans la zone d'impression"
        Exit Sub
    End If

'comptage du nombre de sauts de page horizontaux jusqu'à la cellule active
For i = 1 To ActiveSheet.HPageBreaks.Count
    If ActiveSheet.HPageBreaks(i).Location.Row > ActiveCell.Row Then Exit For
Next

'comptage du nombre de sauts de page verticaux jusqu'à la cellule active
For j = 1 To ActiveSheet.VPageBreaks.Count
    If ActiveSheet.VPageBreaks(j).Location.Column > ActiveCell.Column Then Exit For
Next

'vérification de la mise en page
Select Case ActiveSheet.PageSetup.Order
Case Is = xlOverThenDown
i = (i - 1) * (ActiveSheet.VPageBreaks.Count + 1)
Case Is = xlDownThenOver
j = (j - 1) * (ActiveSheet.HPageBreaks.Count + 1)
End Select

'insertion du numéro de page dans la cellule active
ActiveCell = "p." & i + j & "/" & (ActiveSheet.HPageBreaks.Count + 1) * (ActiveSheet.VPageBreaks.Count + 1)

End Sub
 
- 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

Discussions similaires

Réponses
3
Affichages
777
Réponses
7
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…