Comment lancer un script .bat depuis une macro VBA sous Excel365

Bonjour, je cherche à lancer depuis Excel365 un script .bat depuis une macro

voilà ce que je tape :

image

et lorsque je j'éxécute, j'ai le message d'erreur suivant :

"Argument ou appel de procédure incorrect "

Quelqu'un à une idée ?

Merci

Hufi

Merci pour votre aide;... A noter que j'ai le meme problème si je mets le chemin complet dans le premier paramètre du script .bat

Bonjour,

Aucune anomalie dans la formulation

J'ai fait un essai avec un Bat Perso et cela fonctionne sans erreur.

retval = Shell("D:\Mes Documents\Perso.bat", vbNormalFocus)

Le problème provient peut-être du fichier Bat

A+

Merci pour ta confirmation....

Je pense que c'est lié à des restrictions mises en place par ma société qui interdit des activations de scripts via des macros car dans les notifications je retrouve les messages suivants :

image

ce qui est étonnant car via le planificateur de tâches, je peux activer mon .bat :-)

Bonjour,

Il est possible que l'administrateur système interdise ce genre de manip dans excel. Mais il est également possible que la configuration par défaut dans ton entreprise bloque cette possibilité sans vraiment l'interdire.

Je veux dire par la qu'il est plus facile d'interdire des actions qui pourraient être exécutée à l'insu des utilisateurs que de courir après une solution réparation.

Dans cette optique, je t'invite à vérifier les options des macros dans la configuration d'excel. Il est possible qu'il s'agisse tout simplement de l'autoriser.

Si les tâches planifiées fonctionne

Function AjouterTachePlanifiee(nomTache As String, cheminProgramme As String, _
                              arguments As String, heureDemarrage As String, _
                              joursSemaine As String) As Boolean
    On Error GoTo Erreur

    Dim WshShell As Object
    Set WshShell = CreateObject("WScript.Shell")

    ' Commande pour créer la tâche planifiée
    Dim commande As String
    commande = "schtasks /create /tn """ & nomTache & """ /tr """ & cheminProgramme & " " & arguments & """ /sc weekly /d " & joursSemaine & " /st " & heureDemarrage & " /f"

    ' Exécuter la commande
    WshShell.Run commande, 0, True

    ' Libérer les objets
    Set WshShell = Nothing

    ' Si nous arrivons ici, tout s'est bien passé
    AjouterTachePlanifiee = True
    Exit Function

Erreur:
    ' En cas d'erreur, retourner False
    AjouterTachePlanifiee = False
End Function

Test

Sub TesterAjouterTachePlanifiee()
    Dim resultat As Boolean
    Dim nomTache As String
    Dim cheminProgramme As String
    Dim arguments As String
    Dim heureDemarrage As String
    Dim joursSemaine As String

    nomTache = "MaTachePlanifiee"
    cheminProgramme = "C:\Chemin\Vers\VotreProgramme.exe"
    arguments = "" ' Ajoutez les arguments si nécessaire
    heureDemarrage = "10:00" ' Format 24 heures, ex: "14:30"
    joursSemaine = "MON,TUE,WED,THU,FRI" ' Jours de la semaine

    resultat = AjouterTachePlanifiee(nomTache, cheminProgramme, arguments, heureDemarrage, joursSemaine)

    If resultat Then
        MsgBox "Tâche planifiée ajoutée avec succès.", vbInformation
    Else
        MsgBox "Échec de l'ajout de la tâche planifiée.", vbCritical
    End If
End Sub

Merci beaucoup pour ce code.....J'avoue ne pas être bien sur de comprendre; En effet, mon besoin serait d'exécuter une tâche planifiée lors de l'appui sur un bouton d'un fichier excel et non d'ajouter une tâche planifiée

Merci en tout cas.

Rechercher des sujets similaires à "comment lancer script bat macro vba excel365"