Question Powershell et Excel

Plus d'informations
il y a 11 ans 7 mois #17905 par Derensy
Powershell et Excel a été créé par Derensy
Bonjours,

Je travaille actuellement sur un script qui se base sur un fichier CSV pour créer des dossiers, groupes, et ajoute des utilisateur.

Fichier CSV
    Ligne;Colonne;Valeur
    Dos1;User1;W
    Dos1;User2;
    Dos1;User3;W
    Dos2;User1;W
    Dos2;User2;R
    Dos2;User3;
    Dos3;User1;W
    Dos3;User2;
    Dos3;User3;R
    Dos4;User1;W
    Dos4;User2;
    Dos4;User3;R
    Dos5;User1;W
    Dos5;User2;R
    Dos5;User3;
    Dos6;User1;W
    Dos6;User2;
    Dos6;User3;
    Dos7;User1;W
    Dos7;User2;R
    Dos7;User3;


Mais pour obtenir ce fichier CSV je convertie un tableau excel avec la fonction \"pivot table\" en faisans Alt+D+A sur excel.

Tableau Excel


J'aimerais savoir déjà si une commande PS ne peut pas convertir automatiquement mon tableau dans la forme que je souhaite ?
Si non j'ai trouver une macro VB qui me convertie automatiquement mon tableau mais je voudrais en plus avec PS pouvoir lancer cette macro VB et sauvegarder le tableau normaliser en fichier CSV
Pièces jointes :

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 7 mois #17906 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Powershell et Excel
Salut,
tu peux utiliser cette fonction . Elle date un peu, donc à vérifier avec ta version d'office.
Une piste pour la macro.
En recherchant sur les repositories Powershell tu peux trouver mieux ou plus facile à implémenter/mixer.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 7 mois #17909 par Derensy
Réponse de Derensy sur le sujet Re:Powershell et Excel
Merci, j'ai tester la fonction que tu ma indiquer elle sauvegarde bien le tableau en fichier CSV

J'ai oublier de mettre le tableau avant la normalisation.


En faite je cherche une commande qui me convertie ce tableau en celui dans le 1er post, j'ai une macro VB dans un fichier Excel qui me le fait mais elle est rattacher au fichier donc je doit toujours garde ce fichier avec mon script ce qui est pas très pratique.

Donc il me faudrait sois une commande PS qui me fait tout sa :p (au mieux), sois de pouvoir lancer la macro avec le script ou même extraire la macro du fichier Excel et de la lancer sur n’importe quelle tableau Excel.

Je fournie toujours la macro VB au cas ou.<br><br>Message édité par: Dst901, à: 7/08/14 07:20

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 7 mois #17910 par Derensy
Réponse de Derensy sur le sujet Re:Powershell et Excel
Désoler pour le Double post mais j'ai eu une erreur quand j'ai essayer de joindre la macro.

La pièce jointe MacroVB.txt est absente ou indisponible

Pièces jointes :

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 7 mois #17911 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Powershell et Excel
Dst901 écrit:

Donc il me faudrait sois une commande PS qui me fait tout sa :p (au mieux), sois de pouvoir lancer la macro avec le script ou même extraire la macro du fichier Excel et de la lancer sur n’importe quelle tableau Excel.

Les besoins autour d'Office étant souvent les mêmes, tu devrais trouver qq pistes à adapter ici .
Ensuite de rechercher sur Google en précisant 'C# Excel' comme mots clé te sera également utile.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 7 mois #17913 par Derensy
Réponse de Derensy sur le sujet Re:Powershell et Excel
Merci pour votre aide j'ai réussi a démarrer la macro \&quot;norma\&quot; de mon .xlsm et de sauvegarder ensuite la feuille en cours au format .csv

[code:1]
Function ExportWSToCSV ($excelFileName, $csvLoc)
{
$excelFile = \&quot;E:\macro\macro.xlsm\&quot;
$Excel = New-Object -ComObject Excel.Application
$Excel.Visible = $false
$Excel.DisplayAlerts = $false
$wb = $Excel.Workbooks.Open($excelFile)
$Excel.Run(\&quot;Norma\&quot;«»)
$ws = $wb.Worksheets
$n = $excelFileName + $ws.Name
$wb.SaveAs($csvLoc + $n + \&quot;.csv\&quot;, 6)
$Excel.Quit()
}
ExportWSToCSV -excelFileName \&quot;excel-norma\&quot; -csvLoc \&quot;E:\macro\\&quot;
stop-process -processname EXCEL
[/code:1]

Juste une dernière petite demande je voudrais copier un tableau d'un fichier1 a un fichier2(qui contient justement la macro), ou de déplacer la macro vers le fichier1<br><br>Message édité par: Dst901, à: 7/08/14 13:32

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.053 secondes
Propulsé par Kunena