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

VBScript Discussion :

Modifier en-tête et pieds de page d'un fichier Excel en VBS


Sujet :

VBScript

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Modifier en-tête et pieds de page d'un fichier Excel en VBS
    Bonjour à tous,

    Je suis entrain de faire un script en VBS qui permet d'imprimer un fichier Excel simple (une seule feuille).
    J'ai trouvé comment l'imprimer, par contre il faudrait que je modifie l'en-tête et le pied de page aussi, et ça.... je ne sais pas comment faire, et je n'ai rien trouvé sur le net pour m'aider.
    Je sais comment modifier une cellule grâce à ce code : http://vb.developpez.com/faqvbs/?page=II.3#vbsCreatexls
    J'imagine que la modification de l'en-tête et pied de page peux se faire à peux près de la même manière non ?

    Merci d'avance pour votre aide

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Je te conseille la lecture de ce tuto : Manipulation des en-têtes et pieds de pages

    Il te suffit de piloter Excel comme et d'appliquer ce qu'il y a sur ce tuto.

    Philippe

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    Merci beaucoup pour ce lien, ça m'a permis de faire mon script (qui peux certainement être optimisé mais il fonctionne comme ça pour le moment) :

    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
    41
    'Nom du fichier Excel à traiter (passé en argument lors du lancement du script)
    nomfichierxls = lcase( wscript.arguments(0) )
     
    'Ouverture du fichier Excel
    Set exl = WScript.CreateObject("excel.Application")
    Set fichxl = exl.Workbooks.Open(nomfichierxls)
    exl.DisplayAlerts = FALSE
    exl.Visible = TRUE
     
    ' Définition des variable servant à remplir l'en-tête et le pied de page avant impression
    Set WshNetwork = WScript.CreateObject("WScript.Network")
    	strUser = WshNetwork.UserName
     
    dateHeure = "&D  &T"
    entete = "&F"
    page = "Page &P/&N"	
     
    'Création de la macro modifiant l'en-tête et le pied de page
     
    Set mdle = fichxl.VBProject.VBComponents.Add(1)
     
    num=0
    num=num+1:mdle.CodeModule.InsertLines num, "Sub entete_piedpage()"
    num=num+1:mdle.CodeModule.InsertLines num, "With ActiveSheet.PageSetup"
    num=num+1:mdle.CodeModule.InsertLines num, ".CenterHeader = """ & entete & """"
    num=num+1:mdle.CodeModule.InsertLines num, ".LeftFooter = """ & dateHeure & """"
    num=num+1:mdle.CodeModule.InsertLines num, ".CenterFooter = """ & page & """"
    num=num+1:mdle.CodeModule.InsertLines num, ".RightFooter = """ & strUser & """"
    num=num+1:mdle.CodeModule.InsertLines num, "End With"
    num=num+1:mdle.CodeModule.InsertLines num, "End Sub"  
     
    'Exécution de la macro
    exl.Run "entete_piedpage"
     
    ' Impression du document
    fichxl.Sheets(1).PrintOut ,,,,""
     
    'Fermeture du fichier et d'Excel
     
    fichxl.close false
    exl.Quit
    J'aurais 2 autres petites questions :

    - Quand le script ferme Excel à la fin, j'ai un message d'erreur Windows qui me dit que Excel a rencontré un problème, "la mémoire ne peux être read".
    Si je retire la partie macro de mon script, je n'ai plus ce message d'erreur (le script se contente d'ouvrir puis de fermer le fichier dans ce cas là).
    Quelqu'un saurait comment éviter que ce message ne s'affiche ? (il n'empêche pas l'exécution du script, mais c'est assez embettant )

    - Autre question, l'impression se fait sur l'imprimante par défaut, je voudrais pouvoir spécifier le nom de l'imprimante sur laquelle imprimer, j'ai essayer de mettre le nom de l'imprimante (ou le port) sur laquelle je veux imprimer à la fin de ma ligne fichxl.Sheets(1).PrintOut ,,,,"nom_imprimante" mais ça n'a pas l'air de fonctionner.

    Merci pour votre aide.


    EDIT : c'est bon en fait pour le message d'erreur, il fallait que je mette la ligne : avant de fermer.
    Je suis débutant en vbs, je ne connais pas encore toutes les subtilités

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 31/08/2007, 14h30
  2. Supprimer en-têtes et pieds de page d'une partie
    Par sigurd dans le forum Mise en forme
    Réponses: 1
    Dernier message: 10/07/2007, 16h57
  3. [Impression] Masquer les en-têtes et pieds de pages
    Par Sheriff dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/12/2006, 17h06
  4. En-têtes et pieds de pages
    Par ploxien dans le forum Mise en forme
    Réponses: 4
    Dernier message: 28/06/2006, 15h05

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