Partage
  • Partager sur Facebook
  • Partager sur Twitter

Insérer une formule Excel dans PowerShell

    30 novembre 2020 à 19:32:52

    Bonjour,

    dans le cadre d'un projet j'essaye d'ajouter une formule Excel avec un script powershell mais j'obtiens une erreur.

    Le script :

    $excel = New-Object -ComObject Excel.Application
    $excel.visible = $true
    $excel.DisplayAlerts = $false
    
    $filepath = 'C:\Users\XXX\Desktop\Projets\Mailing listes\mail.xlsx'
    $workbook = $excel.Workbooks.open($filepath)
    $Worksheet = $Workbook.WorkSheets.item("S48")
    $Worksheet.activate()
    
    $col = 10
    $lines = @(3,4,5,6,7)
    
    foreach($line in $lines)
    {
        $Worksheet.Cells.Item($line,$col) = "=CONCATENER(`"gam update group`"&`" `"&SI(A2=`"IDF`";`"XXXX@XXXX`";SI(A2=`"BDX`";`"XXXX@XXXX`";SI(A2=`"NORD`";`"XXXX@XXXX`";SI(A2=`"OUEST`";`"XXXX@XXXX`";SI(A2=`"XXX`";`"XXXX@XXXX`";SI(A2=`"RHA`";`"XXXX@XXXX`";SI(A2=`"AIX`";`"XXXX@XXXX`";SI(A2=`"BXL`";`"XXXX@XXXX`";SI(A2=`"XXX`";`"XXXX@XXXX`";SI(A2=`"RO`";`"XXXX@XXXX`";SI(A2=`"TLS`";`"XXXX@XXXX`";SI(A2=`"SWI`";`"XXXX@XXXX`";SI(A2=`"PT`";`"XXXX@XXXX`";0))))))))))))&`" `"&`"remove user`"&`" `"&H2)"
    }


    L'erreur :

    Si quelqu'un a une idée d'où peut venir l'erreur je suis preneur ^^

    -
    Edité par nbittoun 30 novembre 2020 à 19:33:52

    • Partager sur Facebook
    • Partager sur Twitter

    Nathan

      1 décembre 2020 à 10:53:40

      il faut dire que c'est une formule

      $Worksheet.Cells.Item($line,$col).Formula = ...

      et tes échappements de guillemets me semblent bizarre, mets des doubles guillemets autour de tes chaines internes (""blabla"")

      et il faut utiliser les noms de fonctions anglais (CONCATENATE pour CONCATENER, IF pour SI) et une virgule au lieu des points-virgules de séparation de champs (tu as d'ailleurs oublier le premier après "gam update group".

      • Partager sur Facebook
      • Partager sur Twitter

      Insérer une formule Excel dans PowerShell

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown