' set_cell_silent.vbs ' Usage: cscript //nologo set_cell_silent.vbs "C:\chemin\fichier.xlsm" "NomFeuille" "A1" "Valeur" Option Explicit Dim f, sheetName, addr, val Dim xl, wb, ws If WScript.Arguments.Count < 4 Then WScript.Echo "[ERR] Args: set_cell_silent.vbs " WScript.Quit 1 End If f = WScript.Arguments(0) sheetName = WScript.Arguments(1) addr = WScript.Arguments(2) val = WScript.Arguments(3) On Error Resume Next Set xl = CreateObject("Excel.Application") If Err.Number <> 0 Then WScript.Echo "[ERR] Excel non disponible (" & Err.Description & ")" WScript.Quit 1 End If On Error GoTo 0 xl.Visible = False xl.DisplayAlerts = False ' Désactiver macros et événements AVANT d’ouvrir On Error Resume Next xl.AutomationSecurity = 3 ' msoAutomationSecurityForceDisable xl.EnableEvents = False xl.ScreenUpdating = False On Error GoTo 0 On Error Resume Next Set wb = xl.Workbooks.Open(f, False, False) If Err.Number <> 0 Then xl.Quit WScript.Echo "[ERR] Ouverture classeur: " & Err.Description WScript.Quit 1 End If On Error GoTo 0 On Error Resume Next Set ws = wb.Worksheets.Item(sheetName) If Err.Number <> 0 Then wb.Close False xl.Quit WScript.Echo "[ERR] Feuille introuvable: " & sheetName WScript.Quit 1 End If On Error GoTo 0 On Error Resume Next ws.Range(addr).Value2 = val If Err.Number <> 0 Then wb.Close False xl.Quit WScript.Echo "[ERR] Ecriture cellule " & addr & " : " & Err.Description WScript.Quit 1 End If On Error GoTo 0 wb.Save wb.Close False xl.Quit WScript.Quit 0