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

Scripts/Batch Discussion :

Modifier des valeurs d'un CSV [PowerShell]


Sujet :

Scripts/Batch

  1. #1
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2017
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mai 2017
    Messages : 18
    Points : 10
    Points
    10
    Par défaut Modifier des valeurs d'un CSV
    Bonjour, je ne sais pas ce que j'ai raté, car l'opération que je souhaite faire me parait simple et pourtant, je n'y arrive pas malgré tout ce que j'ai essayé...

    Contexte :
    J'ai un Csv, qui contient certains paramètres d'affichage de mon script (nom, image, paramètres d'action, ... de mes boutons). jusqu'ici pas de problème, quand je lance mon script, l'interface apparait avec les paramètres contenus dans mon fichier Csv.
    Dans cette interface j'ai aussi de quoi changer les valeurs de mes boutons (nom, image, paramètres d'action, ...). C'est ici que ça va plus ! j'arrive bien à lire les valeurs de mon Csv que je souhaite changer, à récupérer les valeurs que je saisis dans mon interface, mais impossible de remplacer les valeurs de mon Csv par celle de mon interface.

    Je sais, c'est pas très claire, donc ci-dessous quelques Screenshots et code :

    Mon Csv :
    Nom : Capture3.PNG
Affichages : 96
Taille : 17,0 Ko

    Mes Boutons qui récupère correctement les paramètres du Csv :
    Nom : Capture1.PNG
Affichages : 93
Taille : 34,4 Ko

    La nouvelle valeur Nom (NewName) que j'essai de donner à mon bouton 1 :
    Nom : Capture2.PNG
Affichages : 95
Taille : 14,9 Ko

    Code PowerShell : 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
    $btn_conf_btn_clic= 
    {
        [int]$num_btn = $cbbox_conf_btn.SelectedIndex # Choix de mon bouton à configurer
     
        #Import du Csv
        $valeurs_conf_btn = Import-Csv -Delimiter ";" -Path ".\CONFIGURATIONS\Boutons.csv"
     
        Write-Host $valeurs_conf_btn.Label[$num_btn] # Affiche la valeur (Nom) actuelle de mon bouton
        Write-host $txtbox_conf_btn_label.Text # Affiche la valeur (Nom) que je souhaite donner à mon bouton
     
        $valeurs_conf_btn.Label[$num_btn] = $txtbox_conf_btn_label.Text # ICI marche pas, mais devrais donner la nouvelle valeur à mon bouton
     
        Write-Host $valeurs_conf_btn.Label[$num_btn] # Affiche que ça ne donne pas la valeur =)
     
        $valeurs_conf_btn | Export-Csv -Path .\CONFIGURATIONS\Boutons.csv -Delimiter ";" -NoTypeInformation # Export des nouvelles valeurs vers un nouveaux Csv
     
     
    }

    Résultats des mes Write-Host que j'ai placé dans mon code :
    Test
    NewName
    Test
    Si vous avez des idées du pourquoi, du comment, je suis preneur !

    Merci.

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Essaie comme ceci déjà
    Code powershell : 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
    $btn_conf_btn_clic= 
    {
        [int]$num_btn = $cbbox_conf_btn.SelectedIndex # Choix de mon bouton à configurer
     
        #Import du Csv
        $valeurs_conf_btn = Import-Csv -Delimiter ";" -Path ".\CONFIGURATIONS\Boutons.csv"
     
        Write-Host $valeurs_conf_btn.Label[$num_btn].Text # Affiche la valeur (Nom) actuelle de mon bouton
        Write-host $txtbox_conf_btn_label.Text # Affiche la valeur (Nom) que je souhaite donner à mon bouton
     
        $valeurs_conf_btn.Label[$num_btn].Text = $txtbox_conf_btn_label.Text # ICI marche pas, mais devrais donner la nouvelle valeur à mon bouton
     
        Write-Host $valeurs_conf_btn.Label[$num_btn].Text # Affiche que ça ne donne pas la valeur =)
     
        #$valeurs_conf_btn | Export-Csv -Path .\CONFIGURATIONS\Boutons.csv -Delimiter ";" -NoTypeInformation # Export des nouvelles valeurs vers un nouveaux Csv
     
    }

  3. #3
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2017
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mai 2017
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Bonsoir,

    Avec cette partie de code j'ai le message suivant qui s'affiche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    "La propriété «*Text*» est introuvable dans cet objet. Vérifiez qu’elle existe et qu’elle peut être définie.
    +     $valeurs_conf_btn.Label[$num_btn].Text = $txtbox_conf_btn_label.T ...
    +     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : InvalidOperation : (:) [], RuntimeException
        + FullyQualifiedErrorId : PropertyAssignmentException"

  4. #4
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2017
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mai 2017
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Problème résolu solution toute simple comme je le pensé :

    Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $btn_conf_btn_clic= 
    {
        [int]$num_btn = $cbbox_conf_btn.SelectedIndex +1 # Choix de mon bouton à configurer (+1 car index 0 = btn 1, index 1 = btn 2, etc)
     
        $file = ".\CONFIGURATIONS\Boutons.csv" # Localisation du Csv
        $valeurs_conf_btn = Import-Csv -Delimiter ";" -Path $file #Import du Csv
        $valeurs_conf_btn |foreach{if($_.Btn -eq $num_btn){$_.Label = $txtbox_conf_btn_label.Text}} # Sélection et remplacement de la valeur
        $valeurs_conf_btn |Export-Csv $file -Delimiter ";" -NoTypeInformation # Enregistrement
    }

    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Modifier des valeurs SQL suivant la date
    Par Arthezius dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 08/07/2008, 17h43
  2. modifier des valeurs dans l'objet Request?
    Par airod dans le forum Zope
    Réponses: 2
    Dernier message: 27/05/2008, 15h36
  3. Modifier des valeurs dans une matrice
    Par m4tl4b dans le forum MATLAB
    Réponses: 4
    Dernier message: 04/04/2008, 16h51
  4. COmment modifier des valeurs dans une requête?
    Par thibouille dans le forum Bases de données
    Réponses: 20
    Dernier message: 26/02/2008, 16h43
  5. Réponses: 3
    Dernier message: 12/06/2006, 12h04

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