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éros de pages avec vba excel


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Mai 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut numéros de pages avec vba excel
    bonjour,
    j'ai un fichier excel contenant un ensemble de pages et j'ai fait une macro pour faire des modifications de la mise en forme.
    Le problème c'est que je voudrais faire les modifications seulement pour certaines pages.
    j'ai fait une interface où j'indique les numéros de pages à modifier mais comment indiquer le numéro de page avec vba?
    y'a t-il une syntaxe pour le numéro de page?

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Peut-être un élément de réponse dans la FAQ, au chapitre "Comment ajouter un numéro de page à l'impression ?"

  3. #3
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour tlm,

    Ce que tu proposes Ousk est comment insérer un numéro de page de l'entête ou le pied de page, je ne pense pas que ça va dépanner notre ami

    Avant d'aller plus loin, je voudrais m'assurer que l'on parle bien de la même chose. Staouni, qu'entends-tu par n° de page ? Le numéro des différentes pages sur une même feuille (onglet) ou le numéro des différentes feuilles ?

    Si c'est le numéro des pages d'une même feuille, pages séparées par des sauts de page, il va falloir bricoler une petite usine à gaz et jongler avec les HPageBreak
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Mai 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    oui exacement, je parle des numéros de page d'une même feuille

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Je viens de tester et si j'ai quatre pages sur une feuille de calculs, j'ai bien le N° incrémenté pour chaque page.
    Quel est le problème ?

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Sur une observation très judicieuse de fring, je crois comprendre ton problème.
    Si tes pages se situent n'importe où dans x feuilles... alors tu peux faire ça en adaptant les plages et le nom des feuilles.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    Sub Test1()
    Dim feuil As Variant, FL1 As Worksheet
    Dim Plage1, Plage2, i As Byte, j As Byte, k As Byte
    Application.ScreenUpdating = False
        feuil = Array("feuil1", "feuil2")
        'Première feuille
        Plage1 = Array("$A$1:H30", "$C$32:$G64", "$E$68:$L$85")
        'seconde feuille
        Plage2 = Array("$B$10:J40", "$A$44:$I74", "$A$78:$L$97")
        Tablo = Array(Plage1, Plage2)
        'k = 0
        For i = 0 To UBound(Plage1) - 1
            Set FL1 = Worksheets(feuil(k))
            With FL1
                For j = 0 To UBound(Plage2)
                    NoPage = NoPage + 1
                    'MsgBox "Plage de la page " & NoPage & " : " & Tablo(i)(j) 'juste pour voir
                    With .PageSetup
                        .PrintArea = Tablo(i)(j)
                        .CenterHorizontally = True
                        .CenterVertically = True
                        .FitToPagesWide = 1
                        .FitToPagesTall = 1
                        .Orientation = xlPortrait ' ou xlLandscape (paysage)
                        .CenterHeader = "Page " & CStr(NoPage)
                    End With
                .PrintPreview 'juste pour vérifier la validité du code
                '.PrintOut 'valider cette ligne pour éditer les pages
                Next
            End With
            Set FL1 = Nothing
            k = k + 1
        Next
    Application.ScreenUpdating = True
    End Sub
    Et j'ai testé

    Une seconde solution permettant de sélectionner la feuille et les plages de cellules de chaque page à éditer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Sub Test2()
    Dim feuil As Variant, FL1 As Worksheet
    Dim Plage As Range, k As Byte, NoPage
        On Error Resume Next
        NoPage = 1
        Set Plage = Application.InputBox("Sélectionner la plage à éditer, page " & vbCr _
                    & NoPage & vbCr & "Pour quitter sans sélection, sélectionner ANNULER", _
                    "SELECTION D'UNE PLAGE", Type:=8)
        Do While Not Plage Is Nothing
            Application.ScreenUpdating = False
            Set FL1 = ActiveSheet
            With FL1
                With .PageSetup
                    .PrintArea = Plage.Address
                    .CenterHorizontally = True
                    .CenterVertically = True
                    .FitToPagesWide = 1
                    .FitToPagesTall = 1
                    .Orientation = xlPortrait ' ou xlLandscape (paysage)
                    .CenterHeader = "Page " & CStr(NoPage)
                End With
                .PrintPreview 'juste pour vérifier la validité du code
                '.PrintOut 'valider cette ligne pour éditer les pages
            End With
            Set FL1 = Nothing
            Set Plage = Nothing
            NoPage = NoPage + 1
            Application.ScreenUpdating = True
            Set Plage = Application.InputBox("Sélectionner la plage à éditer, page " & vbCr _
                        & NoPage & vbCr & "Pour quitter sans sélection, sélectionner ANNULER", _
                        "SELECTION D'UNE PLAGE", Type:=8)
        Loop
        On Error GoTo 0
    End Sub

Discussions similaires

  1. envoi mail outlook avec vba excel
    Par momolamoto dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/09/2010, 10h45
  2. Choisir quelle pages à imprimer avec Vba Excel
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 06/04/2009, 09h47
  3. manipulation des fichiers et dossiers avec VBA excel
    Par GBAGO dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 29/07/2007, 23h30
  4. lien internet avec VBA EXCEL
    Par casefayere dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/07/2007, 10h40
  5. Images avec VBA Excel
    Par dorschner dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/09/2006, 23h28

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