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 :

Soucis lors du PageSetup [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 12
    Par défaut Soucis lors du PageSetup
    Bonjour,

    J'ai une macro qui fait des copier-coller, des remplacements de texte etc .. pour créer une nouvelle feuille excel (dans un même classeur). Jusqu'ici, tout fonctionne bien;

    là ou j'ai un souci, c'est au moment ou je souhaite faire une mise en page de la nouvelle feuille :

    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
    36
    37
    38
    39
    40
    'Mise en page
    With ActiveSheet.PageSetup
    'les marges de la feuille (étroites), en mm
         .LeftMargin = "7"
         .RightMargin = "7"
         .TopMargin = "60"
         .BottomMargin = "20"
     
    'en-tête de page
        With ActiveSheet.PageSetup.LeftHeaderPicture
        .Filename = "C:\Users\...........logo.jpg" '<-- logo
        .Height = 35 '<-- largeur de l'image
        .Width = 70 '<-- hauteur de l'image
       End With
        .LeftHeader = "&G" '<-- si je ne rajoute pas ce le code G, le logo n'est pas affiché ... je en comprends pas pourquoi 
        .CenterHeader = "&17" & Sheets("NS1").Range("B1")
        .RightHeader = "&13" & Sheets("NS1").Range("H2") & Chr(10) & Sheets("NS1").Range("H3")
     
    'pied de page
        .LeftFooter = Chr(10) & "&10" & "Edité le " & "&D" & Chr(10) & "Par " & " " & Sheets("macro").Range("C18") '<-- édité le ... par ...
        .CenterFooter = "&8" & Sheets("NS1").Range("A82") & Chr(10) & Sheets("NS1").Range("A83") '<-- ce document .......
        .RightFooter = "&8" & "page " & "&P/&N" '<-- numéro de page / nombre de pages
    End With
     
    DLig = ActiveSheet.Range("B" & Rows.Count).End(xlUp).Row
     
    'mise en page lignes et colonnes
    ActiveSheet.Columns("A:K").EntireColumn.AutoFit
    ActiveSheet.Rows("1:" & DLig).EntireRow.AutoFit
     
    'zone d'impression (sur 1 page)
    With ActiveSheet.PageSetup
    .Zoom = False
    .FitToPagesWide = 1
    .FitToPagesTall = 1
    End With
     
    'mais j'aurais souhaité que je lui indique la PrintArea comme ceci, sauf que, lors de l'impression, il y a plusieurs pages ...
    'ActiveSheet.PageSetup.PrintArea = ""
    'ActiveSheet.PageSetup.PrintArea = "$A$1:$K$" & DLig
    mes soucis :
    - .LeftHeader = "&G" '<-- si je ne rajoute pas ce le code G, le logo n'est pas affiché ... je en comprends pas pourquoi

    - pour ma zone d'impression j'aurais voulu faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveSheet.PageSetup.PrintArea = ""
    ActiveSheet.PageSetup.PrintArea = "$A$1:$K$" & DLig
    mais lors de l'impression, il y a plusieurs pages ... il prends bien comme zone d'impression la A1:K50 par ex, mais la divise en plusieurs pages (de A1 à I50 et I1 à K50) ... alors que si mon fichier fait 75 lignes par exemple, j'aurais voulu avoir 2 pages, une de A1 à K50 et l'autre de A51 à K75 ... je n'arrive pas à le faire; (pour avance dans ma macro j'ai forcé à imprimer sur une seule page, peu importe le nombre de lignes)

    - pour :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    'pied de page
        .LeftFooter = Chr(10) & "&10" & "Edité le " & "&D" & Chr(10) & "Par " & " " & Sheets("macro").Range("C18") '<-- édité le ... par ...
        .CenterFooter = "&8" & Sheets("NS1").Range("A82") & Chr(10) & Sheets("NS1").Range("A83") '<-- ce document .......
        .RightFooter = "&8" & "page " & "&P/&N" '<-- numéro de page / nombre de pages
    End With
    quand il arrive à RightFooter, l'erreur '1004' apparaît : Impossible de définir la propriété RightFooter de la classe PageSetup ...

    Je me suis dis, tant pis, je rajoute ce que je voulais en rightfooter (le n° de la page) dans le leftfooter (et j'élimine donc la le rightfooter) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .LeftFooter = Chr(10) & "&10" & "page " & "&P/&N" & Chr(10) & "Edité le " & "&D" & Chr(10) & "Par " & " " & Sheets("macro").Range("C18") '<-- édité le ... par ...
    Mais, pas de chance pour moi ... cette même erreur (1004) reviens pour me dire que c'est les CenterFooter qui veut pas...


    Avez-vous une idée pour résoudre mon petit souci ?

    Merci par avance

  2. #2
    Membre Expert Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 909
    Par défaut
    Bonjour,

    Oui, il y a une grande idée pour résoudre tes multiples soucis : enregistreur de macros + la touche F1
    Enregistreur de macro, pour connaître le code VBA associé à ta demande (par exemple, l'ajustement de la page d'impression à une page en largeur et x en hauteur).
    La touche F1, sur les différentes fonctions, pour comprendre pourquoi certains paramètres sont requis et l'explication de leur syntaxe.

    Cordialement,

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 12
    Par défaut
    [Bonjour Gado2600,

    merci pour ta réponse (et pour la petite pointe de sarcasme ...)
    Entre temps j'ai réglé l'ajustement de la page.
    j'ai aussi réglé le problème avec le roghtfooter, en changeant le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    .LeftFooter = "Edité le " & "&D" & Chr(10) & "Par " & " " & Sheets("macro").Range("C18") '<-- édité le ... par ...
        .CenterFooter =Sheets("NS1").Range("A82") & Chr(10) & Sheets("NS1").Range("A83") '<-- ce document .......
        .RightFooter = "&P/&N" '<-- numéro de page / nombre de pages
    j'avoue ne pas comprendre pourquoi ça fonctionne comme ça et pas comme avant (j'ai supprimé la taille des caractères, et le texte "page" )

    merci

  4. #4
    Membre Expert Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 909
    Par défaut
    Aha

    'avoue ne pas comprendre pourquoi ça fonctionne comme ça et pas comme avant
    Et encore, tu ne dois pas travailler sous Mac Les zones d'impressions dessus sont horribles ^^

    - .LeftHeader = "&G" '<-- si je ne rajoute pas ce le code G, le logo n'est pas affiché ... je en comprends pas pourquoi
    Ce doit être une option obligatoire, tout comme le pagesetup.zoom qui doit être à faux pour pouvoir activer deux paramètres d'ajustement de la page (d'où le F1 que je te conseille fortement ou sur le site de msdn directement).

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

Discussions similaires

  1. Soucis lors de la compilation des source Qcad avec mac os x 10.4
    Par Ethnolius dans le forum Développement OS X
    Réponses: 2
    Dernier message: 20/05/2007, 10h57
  2. JLabel, soucis lors d'un setText dessus.
    Par Djobird dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 25/04/2007, 15h37
  3. [Debutant] Soucis lors de la suppression d'une JComboBox
    Par MoMotte dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 22/08/2006, 17h52
  4. [DEBUG] petit souci lors de la compilation...
    Par alex6891 dans le forum C
    Réponses: 11
    Dernier message: 29/09/2005, 23h16
  5. petit soucis lors d'un LOAD DATA INFILE
    Par Jovial dans le forum SQL Procédural
    Réponses: 9
    Dernier message: 04/06/2004, 11h58

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