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 :

Erreur 1004 sur PageSetup.PrintArea multi zone


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 54
    Points : 55
    Points
    55
    Par défaut Erreur 1004 sur PageSetup.PrintArea multi zone
    Bonjour,

    Ma macro doit déclarer "la zone d'impression" de plusieurs feuilles.

    Mais quand j'essaye de déclarer la zone ca me donne une erreur, voici un morceau du code (Onglet est un objet Worksheet) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If Onglet.Name = "AMT" Or Onglet.Name = "Suivi global" Then
          Onglet.PageSetup.PrintArea = "$A$1:$S$31;$A$33:$S$83;$A$85:$S$126;$A$128:$S$147;$A$149:$S$171;$A$173:$S$223;$A$225:$S$267;$A$269:$S$288" & _
           ";$A$290:$S$" & (Numéro_Ligne + Plage.Row - 1) 
    End If
    La valeur que je veut mettre est celle ci (copié à partir de l'espion) :
    "$A$1:$S$31;$A$33:$S$83;$A$85:$S$126;$A$128:$S$147;$A$149:$S$171;$A$173:$S$223;$A$225:$S$267;$A$269:$S$288;$A$290:$S$307"


    Est ce que quelqu'un sait comment définir plusieurs zones?
    Merci

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Points : 2 443
    Points
    2 443
    Par défaut
    Salut nawake et le forum
    Essaies ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If Onglet.Name = "AMT" Or Onglet.Name = "Suivi global" Then
          Onglet.PageSetup.PrintArea = "$A$1:$S$31,$A$33:$S$83,$A$85:$S$126,$A$128:$S$147,$A$149:$S$171,$A$173:$S$223;$A$225:$S$267;$A$269:$S$288" & _
           ",$A$290:$S$" & (Numéro_Ligne + Plage.Row - 1) 
    End If
    A+

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 54
    Points : 55
    Points
    55
    Par défaut
    Salut

    Avec les virgules ca ne marche pas non plus

    Je n'ai toujours pas trouver de solution pour mon problème, pour le moment, j'écrit dans une cellule vers le haut de page et la personne qui crée le rapport (avec la macro) copie le contenu de cette cellule pour le coller dans la mise en page de chaque onglet du rapport. Le problème c'est qu'il y a plein d'onglets et que j'aimerais bien le faire par la macro.

    Si vous savez comment faire, faite le moi savoir svp

    ++

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 54
    Points : 55
    Points
    55
    Par défaut
    RE re

    J'ai trouvé

    explication:

    ceci bug avec ou sans les "$" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.PageSetup.PrintArea = "A1:A2;B2:C8"
    ceci bug avec ou sans les "$" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.PageSetup.PrintArea = "A1:A2,B2:C8"
    ceci bug avec ou sans les "$" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.PageSetup.PrintArea = ActiveSheet.Range("A1:A2;B2:C8").Address

    et ceci fonctionne avec ou sans les "$" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.PageSetup.PrintArea = ActiveSheet.Range("A1:A2,B2:C8").Address
    voila ++

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

Discussions similaires

  1. Erreur 1004 sur codename
    Par semas dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 15/10/2008, 18h18
  2. Réponses: 8
    Dernier message: 25/01/2008, 11h48
  3. erreur 1004 sur un range
    Par oscar.cesar dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 02/11/2007, 16h35
  4. Erreur 1004 sur "fichier - quitter"
    Par sabotage dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 22/08/2007, 18h01
  5. Erreur 1004 sur une boucle simple
    Par ruzakruzak dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 06/07/2007, 09h00

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