Partage
  • Partager sur Facebook
  • Partager sur Twitter

[POWERSHELL]recupérer valeur d'une cellule excel

erreur de syntaxe probablement

    8 août 2022 à 16:49:37

    Bonjour,

    Je n'arrive pas a récupérer une valeur d'une cellule excel, je ne dois pas avoir la bonne syntaxe :

    #nom du fichier excel
    $fichierInventaire="inventaire.xlsx"
    #creation du fichier #ouverture et creation d'excel $excel = new-object -comobject Excel.Application #on veut le voir et sans message d'erreur $excel.visible = $true $excel.DisplayAlerts = $False #le chemin du fichier que l'on souhaite ouvrir $excel_file_path = "h:\$fichierInventaire" #ouverture du fichier dans excel $workbook = $excel.Workbooks.open($excel_file_path) #selection de feuille inventaire $worksheet = $workbook.WorkSheets.item("Inventaire") #activation de cette feuil inventaire $worksheet.activate()

    Je veux afficher la valeur de la cellule B2 :

    write-host "valeur dans la cellule B2 : $worksheet.Cells.Item(2,2).value()"

    il m'affiche alors :

    valeur dans la cellule : System.__ComObject.Cells.Item(2,2).value()

    et non la valeur dans la cellule. Ou est l'erreur ?



    -
    Edité par Deuvool 8 août 2022 à 16:53:04

    • Partager sur Facebook
    • Partager sur Twitter
      8 août 2022 à 20:11:49

      Bonsoir,

      Peut-être enlever les parenthèses après value ?

      Ce lien (https://www.educba.com/vba-get-cell-value/) devrait t'aider.

      • Partager sur Facebook
      • Partager sur Twitter
        10 août 2022 à 14:04:27

        j'ai réussi. Mais c'est très curieux.

        si je veux afficher la valeur d'une cellule je dois d'abord la mettre dans une variable puis l'afficher :

        $valeurEcranNumSerie=$worksheet.Cells.Item($ligne,$colonne).text
        write-host "valeur de la cellule : $valeurEcranNumSerie"



        Si je veux comparer la valeur de la cellule A avec la cellule B, je dois d'abord mettre les valeurs dans des variables 

        $valeurEcranNumSerie=$worksheet.Cells.Item($ligne,$colonne).text
        $valeurEcranModele=$worksheet.Cells.Item($ligne,$colonneModele).text
        
        if(($($Numeroseries[$j]) -match $valeurEcranNumSerie) -and ($($Modeles[$j]) -match $valeurEcranModele )){



        Si je veux modifier la valeur d'une cellule :

        $worksheet.Cells.Item($ligne,$colonneNomUser).value = $env:UserName



        • Partager sur Facebook
        • Partager sur Twitter

        [POWERSHELL]recupérer valeur d'une cellule excel

        × 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