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 :

Obtenir et commander un papersize


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 5
    Par défaut Obtenir et commander un papersize
    Bonjour tout le monde et bonne année !

    Donc, de retour au travail, je suis en galère sur un programme VBA Excel - 2003.

    A l'aide d'une macro, je cherche à définir le papersize automatiquement puis imprimer un document. Etant donné que ce n'est pas un papersize usuel (240 * 140 mm entre autre), j'ai créé plusieurs nouvelles catégories de papersize (nom différents pour chaque).

    Ce que je cherche à faire maintenant, c'est commandé un papersize spécifique sur mes macro.
    Pour cela, il faudrait dans un premier temps que j'accède au "PaperSizesCollection", afin d'identifier le numéro assigner à mes papersize.
    Enfin, j'assigne ce numéro de papersize avant d'imprimer à l'aide de :

    ActiveSheet.PageSetup.PaperSize = "numéro_de_papersize".

    Cependant, je n'arrive pas à accéder a "PaperSizesCollection", et je n'arrive pas à trouver plus d'information que cela...J'aurai donc besoin de vos conseils avisés !

    Merci de votre aide,
    Thomas.

  2. #2
    Membre confirmé
    Profil pro
    ERP + Oracle + VBA Excel
    Inscrit en
    Juin 2005
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : ERP + Oracle + VBA Excel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2005
    Messages : 58
    Par défaut
    Bonjour,

    Il faut que le format soit reconnu par l'imprimante. normalement c'est une des valeurs de XlPaperSize selon la liste ci-après :

    PaperSize, propriété
    Voir aussiS'applique àExempleDétailsCette propriété renvoie ou définit la taille du papier. Type de données XlPaperSize en lecture-écriture.

    XlPaperSize peut être l'une de ces constantes XlPaperSize.
    xlPaper11x17. 27,9 x 43,2 cm
    xlPaperA4. A4 (21 x 29,7 cm)
    xlPaperA5. A5 (14,8 x 21 cm)
    xlPaperB5. A5 (14,8 x 21 cm)
    xlPaperDsheet. Feuille US taille D
    xlPaperEnvelope11. Enveloppe US #11 (11,4 x 26,4 cm)
    xlPaperEnvelope14. Enveloppe US #14 (12,7 x 29,2 cm)
    xlPaperEnvelopeB4. Enveloppe B4 (25 x 35,3 cm)
    xlPaperEnvelopeB6. Enveloppe B6 (17,6 x 12,5 cm)
    xlPaperEnvelopeC4. Enveloppe C4 (22,9 x 32,4 cm)
    xlPaperEnvelopeC6. Enveloppe C6 (11,4 x 16,2 cm)
    xlPaperEnvelopeDL. Enveloppe DL (11 x 22 cm)
    xlPaperEnvelopeMonarch. Enveloppe US Monarch (9,8 x 19,1 cm)
    xlPaperEsheet. Feuille US taille E
    xlPaperFanfoldLegalGerman. Legal Fanfold allemand (21,6 x 33 cm)
    xlPaperFanfoldUS. Papier glacé légal US (22 x 30,48 cm)
    xlPaperLedger. Ledger US (43,18 x 27,94 cm)
    xlPaperLetter. Lettre US (21,6 x 27,9 cm)
    xlPaperNote. Note US (21,6 x 27,9 cm)
    xlPaperStatement. Statement US (13,8 x 21,6 cm)
    xlPaperUser. Taille définie par l'utilisateur
    xlPaper10x14. 25,4 x 35,6 cm
    xlPaperA3. A3 (29,7 x 42 cm)
    xlPaperA4Small. Petit A4 (21 x 29,7 cm)
    xlPaperB4. B4 (25 x 35,4 cm)
    xlPaperCsheet. Feuille US taille C
    xlPaperEnvelope10. Enveloppe US 10 (10,5 x 24,1 cm)
    xlPaperEnvelope12. Enveloppe US 12 (10,16 x 17,94 cm)
    xlPaperEnvelope9. Enveloppe US 9 (9,8 x 22,5 cm)
    xlPaperEnvelopeB5. Enveloppe B5 (17,6 x 25 cm)
    xlPaperEnvelopeC3. Enveloppe C3 (32,4 x 45,8 cm)
    xlPaperEnvelopeC5. Enveloppe C5 (16,2 x 22,9 cm)
    xlPaperEnvelopeC65. Envelope C65 (11,4 x 22,9 cm)
    xlPaperEnvelopeItaly. Enveloppe (11 x 23 cm)
    xlPaperEnvelopePersonal. Enveloppe US (9,2 x 16,51 cm)
    xlPaperExecutive. Exécutive US (19,05 x 25,4 cm)
    xlPaperFanfoldStdGerman. Legal Fanfold allemand (21,6 x 33 cm)
    xlPaperFolio. Folio US (21,6 x 33 cm)
    xlPaperLegal. Legal US (21,6 x 35,6 cm)
    xlPaperLetterSmall. Petite lettre US (21,6 x 28 cm)
    xlPaperQuarto. Quarto US (21,5 x 27,5 cm)
    xlPaperTabloid. Tabloïd US (27,9 x 43,2 cm)
    Remarque Certaines imprimantes ne prennent pas en charge tous ces formats de papier.


  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 5
    Par défaut
    Merci pour ta réponse EJO64, cependant ce n'est pas ce que je cherche.
    L'imprimante en question reconnait tous les formats jusqu'au 600x300.

    Ce que je veux, c'est avoir une liste des formats gérés par l'imprimante avec leurs numéro affilier. Par exemple, le format A4 est affilié au numéro 9 (ce n'est qu'un exemple).

    Puis, après avoir mis en page ma feuille excel, je donne le format de papier utilisé (donc on ne rogne pas ce que l'on doit imprimer) et j'imprime.

    Je veux faire cela car la machine est accessible par tout le monde dans l'entreprise, et des petits malin change le format assez souvent...

  4. #4
    Membre confirmé
    Profil pro
    ERP + Oracle + VBA Excel
    Inscrit en
    Juin 2005
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : ERP + Oracle + VBA Excel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2005
    Messages : 58
    Par défaut
    Je pense que je n'ai pas bien compris la question, si c'est pour connaitre les possibilités de l'imprimante au niveau des formats de papier, il faut passer par DeviceCapabilities

    il y a un exemple ici :
    http://msdn.microsoft.com/en-us/libr...ice.12%29.aspx

    sinon la constante PaperSize permet justement de définir le format du papier

  5. #5
    Membre à l'essai
    Inscrit en
    Décembre 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 5
    Par défaut
    J'arrive enfin a recuperer les differents formats et leurs numéro, merci !

    par contre, chose très bizarre, je n'arrive pas a set le format papier de mon imprimante via la commande :

    ActiveSheet.PageSetup.PaperSize = numéro_du_format

  6. #6
    Membre confirmé
    Profil pro
    ERP + Oracle + VBA Excel
    Inscrit en
    Juin 2005
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : ERP + Oracle + VBA Excel
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2005
    Messages : 58
    Par défaut
    Il y a un message d'erreur ?

    Avec le code ci-après, le message affiché doit être 8 pour une 'impression est en A3

    (pour autant que l'imprimante le permet)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub test_format()
     
    Dim valeur_format As Integer
     
    valeur_format = 8
     
    ' 8 = xlPaperA3
     
    ActiveSheet.PageSetup.PaperSize = valeur_format
     
    MsgBox ActiveSheet.PageSetup.PaperSize
     
    End Sub
    la liste des format avec les valeurs est disponible ici

Discussions similaires

  1. [XL-2010] Paramètres d'impression indéfinissables ? Obtenir et commander un papersize
    Par lucasgaetan dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/09/2014, 18h23
  2. Obtenir et commander un papersize
    Par Basicnav dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/01/2011, 16h02
  3. Réponses: 2
    Dernier message: 03/09/2009, 12h30
  4. [DataSet] Obtenir la Command
    Par Ticoche dans le forum Windows Forms
    Réponses: 7
    Dernier message: 31/12/2007, 11h07

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