IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Numéro de page par macro


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Info-Indus
    Inscrit en
    Avril 2015
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Info-Indus
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 202
    Par défaut Numéro de page par macro
    Bonjour,

    Je me tourne vers vous aujourd'hui car j'aimerais faire une macro qui me permettrait d'ajouter une inscription du type "Page de x à y" sur mes feuilles contenu dans mon classeur. Je veux avoir une macro qui effectue cela qu'on active par un bouton, comme ça je pourrais activer ou pas cette fonctionnalité.
    En effet, j'écris dans mes feuilles des données et des fois le nombre de données est important, sachant que j'imprime ces feuilles, pour m'y retrouver avoir le numéro de chaque page lorsqu'un saut de page est effectué serait top.

    Merci d'avance !!

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur Industrialisation
    Inscrit en
    Mai 2015
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Industrialisation
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 222
    Par défaut
    Bonjour,

    Veux-tu que cela soit écrit dans une cellule Excel ?
    Si oui, utilise par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim Sh As Worksheet
    For Each Sh in Activeworkbook.sheets
    Sh.Range... = "Page " & Sh.Index & " sur " & ActiveWorkBook.Sheets.Count
    Next Sh

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Info-Indus
    Inscrit en
    Avril 2015
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Info-Indus
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 202
    Par défaut
    Je sais pas si tu as bien compris ce que je voulais faire alors je vais préciser.
    Sur la photo ci -dessous tu constate que j'ai deux page (pour ma deuxième page un entête viens ce positionner lors de l'impression).
    Je voudrais que ces deux pages soit numéroté "page 1 sur 2" & "page 2 sur 2" mais seulement pour cette feuille précisément.

    Dans l'idéale une macro flexible serait bien, car je n'ai pas tout le temps 2 pages mais parfois 4 ou 6 ....

    Pour répondre à ta question, partons sur l'idée de mettre cette info dans la cellule A1

    Image:


    Pièce jointe 177462

    PS: Dans la même structure est-il possible de mettre la date du jour?

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur Industrialisation
    Inscrit en
    Mai 2015
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Industrialisation
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 222
    Par défaut
    Tu peux le faire directement depuis : Imprimer/Mise en page / En-tête et pied de page

    Pas de macro nécessaire !

  5. #5
    Membre Expert
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    Range("RightHeader")= "&P de &N"
     
    With ActiveSheet.PageSetup
            .LeftHeader = Range("LeftHeader")
            .CenterHeader = Range("CenterHeader")
             .RightHeader = Range("RightHeader") 
            .LeftFooter = Range("LeftFooter")
            .CenterFooter = AjouterLineFeed(Range("CenterFooter"))
            .RightFooter = Range("RightFooter")
    End With
    Liste de codes possibles pour l'Entête et le Pied-de-page
    &D Imprimer la date.

    &T Imprimer l'heure.
    &F Imprimer le nom du fichier

    &A Imprimer le nom de la feuille
    &P Imprimer le numéro de la page.
    &P+number Imprimer le numéro de la page plus un nombre
    &P-number Imprimer le numéro de la page moins un nombre
    && Imprimer le caractère &
    &N Imprimer le nombre total de pages dans le document
    &B Imprimer en caractères gras
    &"arial,bold"mon texte Imprimer avec la police Arial Gras
    &U&24mon texte Imprimer avec une taille de 24 et soulignement

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur Info-Indus
    Inscrit en
    Avril 2015
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Info-Indus
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 202
    Par défaut
    Bonjour,

    J'ai essayé la méthode que vous me conseillez mais malheureusement elle ne fonctionne pas ou alors pas très bien. Dès lors que je génère une nouvelle feuille avec donc de nouvelles données mon entête se voit modifier..; En effet, même si je créée un entête personnalisé, il est modifié.

    "Tu peux le faire directement depuis : Imprimer/Mise en page / En-tête et pied de page
    Pas de macro nécessaire !"

    Le code que vous m'avez transmis ne fonctionne pas ou alors je ne l'ai pas compris. Pourriez-vous m'apporter des infos supplémentaire sur ce code ?

    Merci pour vos réponses et pour l'importance que vous accordez à ma question!

  7. #7
    Membre Expert
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Par défaut
    Appelle ce code avant l'impression :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub tt()
     
    Worksheets("Feuil1").PageSetup.RightHeader = "&P de &N"
     
    End Sub

  8. #8
    Membre confirmé
    Homme Profil pro
    Développeur Info-Indus
    Inscrit en
    Avril 2015
    Messages
    202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Info-Indus
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 202
    Par défaut
    J'ai essayé ce code mais il ne fonctionne pas, de plus peut-on le modifier pour la "feuille active" ActiveSheet ?

  9. #9
    Membre Expert
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Par défaut
    Citation Envoyé par iliaseyah Voir le message
    peut-on le modifier pour la "feuille active" ActiveSheet ?

    Bien sûr. Remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("Feuil1").PageSetup.RightHeader = "&P de &N"
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.PageSetup.RightHeader = "&P de &N"

    Ca fera apparaître les numéros de page en haut à droite de cette feuille lors de l'aperçu avant impression comme lors de l'impression.

  10. #10
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2022
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2022
    Messages : 1
    Par défaut
    Bonjour à tous,

    Et tout d'abord merci à tous de faire vivre ce forum fort utile ! Je réveille un vieux sujet, j'espèr avoir un retour malgré tout.
    J'ai suivi certaines des indications du forum pour faire mon propre code VBA (je n'y connais rien, je fais avec des morceaux ici ou là et un peu de logique )

    Ma question est rapide pour quelqu'un qui connait je pense :
    je souhaite ajoute le numéro de page par macro donc a une sélection de 2 onglets

    contexte: Je fais un fichier Excel avec en onglet 1 : CGV onglet 2 : devis 1 onglet 3 : devis 2 etc...
    Je souhaite exporter en pdf le devis actuel (page active) + cgv sur le même pdf et avoir page 1 sur 2 et page 2 sur 2
    avec le code suivant je n'obtiens que le page 1 sur 2 et rien sur la deuxième page.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Sub DEVIS_EXPORT()
    '
    chemin = "D:\COMPTA\All_D-F"
     
     Sheets(Array("CGV", "DEVIS (2)")).Select False
     ActiveSheet.PageSetup.RightHeader = "page" & "&P de &N"
    .ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin & "\" & [H6]
     
    End With
    '
    End Sub

    Merci d'avance pour votre entraide
    Amicalement
    Franck

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Pied de page par macro
    Par iIncoming dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 23/12/2013, 15h18
  2. [XL-2007] impression des tableaux sur une seule page par macro
    Par free_dom dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 11/06/2011, 11h21
  3. Entete et pied de page par macro sur classeur entier
    Par ediurne dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 19/04/2011, 12h09
  4. [V5] Réinitialiser le numéro de page par section
    Par ilalaina dans le forum Deski
    Réponses: 4
    Dernier message: 09/02/2010, 11h10
  5. Birt numéro de page par groupe.
    Par vectwalid dans le forum BIRT
    Réponses: 1
    Dernier message: 08/01/2010, 12h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo