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 :

Piloter excel avec du VBScript


Sujet :

VBScript

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Piloter excel avec du VBScript
    Chers internautes :

    J'aimerais creer un script pour pouvoir "automatiser" des actions sur excel, je m'explique :
    Je dois transformer des fichiers excel en PDF avec PDFcreator.
    Si on fait a la main on fait :
    ctrl P pour lancer une impression
    on choisi "PDFcreator" a la place de l'imprimante
    on selectionne le classeur entier
    confirmer
    choisir le chemin dacces etc.....

    j'aimerais donc pour me faire gagner du temps, ecrire un script qui permet d'ouvrir les classeur excel, les transformer en pdf, fermer, et passer a la suivante.
    J'ai fouillé pas mal de forum et de faq, mais je tombe toujours sur des erreurs avec des erreur comme "fin de procedure attendu" ou un truc dans le genre.
    je n'arrive meme pas a ouvrir un seul fichier :s

    J'ai vraiment besoin de ce script, je vous remerci par avance.
    Je vais continuer mes test et mes recherches en attendant .

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    et donc tu veux faire cela en VBScript...

    tiens déjà voilà un code qui te montre comment depuis un script .Vbs.. lancer excel créer un classeur y coller un texte puis sauver ce classeur :
    Comment piloter Excel pour créer un classeur.xls

    cela devrai t'aider à commencer ... (lancer excel...) puis dis nous ...

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    ok merci je vais tester ca

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    malgré les essais je ny arrive toujours pas
    Je cherche surtout a faire un boucle : cest a dire que le script ouvre chaque feuille excel dans le dossier et quil me les transforme en PDF ...
    Vous croyez que cest faisable ou pas ?

    Merci d'avance

  5. #5
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    montre nous ce que tu as fait..!

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Voici le code

    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
    Dim fs, f, f1, fc, s, f2, xlapp, classeur, feuille
    set fs = CreateObject("Scripting.FileSystemObject")
     
    Chemin=fs.GetAbsolutePathName("")
    msgbox chemin
     
    Set xlapp = CreateObject("Excel.Application")
    xlapp.Visible = True
     
    set WshShell = WScript.CreateObject("WScript.Shell")
    set f = fs.GetFolder(chemin)
    set fc = f.Files
    For each f1 in fc
    	if fs.GetExtensionName(f1.name)="xls" then
    		wshShell.AppActivate "Excel"
    		WScript.Sleep 700	
     		WshShell.SendKeys "d"
    		WScript.Sleep 700
     		WshShell.SendKeys "^p"
    		WScript.Sleep 700
     		WshShell.SendKeys "/t"
    		WScript.Sleep 700
     		WshShell.SendKeys "p"
    		WScript.Sleep 700
     		WshShell.SendKeys "1"
    		WScript.Sleep 700
     		WshShell.SendKeys "/t"
    		WScript.Sleep 700
    		WshShell.SendKeys "2"
    		WScript.Sleep 700 
    		WshShell.SendKeys "~"
    		WScript.Sleep 700
     
    	end if
    Next
    En fait il ouvre bien excel mais pas les fichiers que je veux modifier qui sont places dans le même répertoire que le fichier vbs
    L'idée est que j'ai un répertoire plein de fichiers xls dont je veux imprimer en pdf les permiers onglets et passer au fichier suivant

  7. #7
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    pas terrible tes sendkeys... !


    tiens un exemple pour imprimer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    Dim Xlapp 'Excel
     Dim wb 'le classeur
     Set XlApp = CreateObject("Excel.application")
     XlApp.Visible = True
     Set Wb = XlApp.Workbooks.Open("D:\Documents and Settings\bbil\Mes documents\FichierA.xls")
     Wb.Sheets(1).PrintOut ,,,,"CutFtp sur FPP1:"
     wb.close false 'ferme sans sauver
     XlApp.quit 'quitte excel
     Set Wb = Nothing
     Set XlApp = Nothing

Discussions similaires

  1. [AC-2000] piloter excel avec access
    Par jobe3141 dans le forum VBA Access
    Réponses: 4
    Dernier message: 26/07/2011, 17h09
  2. Piloter Excel avec un code C++
    Par Lachoserouge dans le forum C++
    Réponses: 5
    Dernier message: 10/06/2011, 22h19
  3. Piloter Excel avec VB
    Par cyranno dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 22/01/2009, 22h43
  4. Piloter Excel avec PHP (données dans BD MySQL)
    Par beegees dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/08/2008, 19h53
  5. piloter Excel avec C#
    Par Fennec. dans le forum C#
    Réponses: 4
    Dernier message: 23/06/2008, 10h13

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