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 :

Exécuter une macro appelée dans VBS sur une machine sans Excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2009
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 20
    Points : 13
    Points
    13
    Par défaut Exécuter une macro appelée dans VBS sur une machine sans Excel
    Bonjour,

    J'ai écrit un script .vbs (ci-dessous) qui appelle la macro "Dupliquerfichier" présente dans un classeur que j'ai conçu et cela fonctionne normalement en local sur ma machine.
    Je dois déployer le script sur un serveur qui tourne sans Excel.
    Serait-il possible de la faire tourner? Si oui pourriez-vous m'aider à le faire?
    Le code .vbs est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Const Wbk= "C:\Users\r.comlan\Desktop\Script_CNX4-2.xls"
    Dim oXL, wBook 
    Set oXL = WScript.CreateObject("Excel.Application") 
    Set wBook = oXL.Workbooks.Open(Wbk)
    oXL.Visible = False 
    oXL.Run "Dupliquerfichier" 
    Set oXL = Nothing
    Cordialement,
    Romaric

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Pour avoir une "application Excel" en vbs, il faut Excel sur la machine.

    Ceci dit, on peut manipuler les fichiers Office 2007 et suivants, sans avoir Office en utilisant VB.net (en fait tout langage .net) et le SDK OpenXML, disponible gratuitement sur le site de Microsoft.

    Les versions Express de VisualStudio sont gratuites et suffisantes pour y parvenir.

    Mais, si ce que tu appelles dupliquer c'est faire une copie; tu peux utiliser Scripting.FileSystemObject. Il fournit des méthodes pour copier et déplacer des fichiers.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2009
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 20
    Points : 13
    Points
    13
    Par défaut Transcription du code VBA en .vbs
    Bonjour,

    Merci pour ta réponse. J'ai utilisé Scripting.FileSystemObject dans la macro et elle marche correctement.
    Je mets le code VBA en dessous :

    =================================================
    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
    Option Explicit
    Public FichierTemp As String
    Public Sub Dupliquerfichier()
        Call CopierEtRenommerFichier
    End Sub
    Sub CopierEtRenommerFichier()
        Dim Chemin As String, Fichier As String, Destination As String
        Dim fso As Scripting.FileSystemObject
        Dim oFSO As Scripting.FileSystemObject
        Chemin = "C:\Users\r.comlan\Desktop\Tofs\"
        Destination = "C:\Users\r.comlan\Desktop\"
        Fichier = Dir(Chemin, vbArchive)
        Do While Left(Fichier, 1) <> "." And Fichier <> ""
     
            If Right(LCase(Fichier), 3) = "jpg" Then
                If FichierTemp <> "" Then
                    If FileDateTime(Chemin & Fichier) > FileDateTime(Chemin & FichierTemp) Then
                        FichierTemp = Fichier
                    End If
                Else
                    FichierTemp = Fichier
                End If
            End If
            Fichier = Dir
        Loop
         MsgBox FichierTemp
         Chemin = "C:\Users\r.comlan\Desktop\Tofs\" & FichierTemp
         Set oFSO = New Scripting.FileSystemObject
         oFSO.CopyFile Chemin, Destination, True
         oFSO.MoveFile Destination & FichierTemp, "C:\Users\r.comlan\Desktop\Tofs\" & "good.jpg"
    End Sub
    ===================================================
    J'essaie donc de transcrire la macro en .vbs

    Cordialement,
    Romaric

Discussions similaires

  1. [XL-2010] Fonction WeekDay fonctionne sur une macro, pas dans une autre
    Par eric4459 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/09/2014, 17h10
  2. Copier une image sur une feuille et la coller sur une autre feuille
    Par Hierog dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 17/03/2011, 12h21
  3. DHCP sur une @IP 1 et DNS sur une @IP 2
    Par polls dans le forum Réseau
    Réponses: 1
    Dernier message: 20/08/2010, 12h27
  4. [XL-2002] Ecouter un evenement sur une cellule et le reproduire sur une autre cellule
    Par kulnae dans le forum Macros et VBA Excel
    Réponses: 28
    Dernier message: 17/08/2009, 21h21
  5. [VBA] Menu qui pointe sur une macro contenue dans un fichier xla protégé
    Par EvaristeGaloisBis dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/08/2007, 14h34

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