Question
Redimension colonne Excel
- brutosaure
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 59
- Remerciements reçus 0
il y a 12 ans 1 semaine #11556
par brutosaure
Redimension colonne Excel a été créé par brutosaure
Bonjour,
J'aimerais savoir si il est possible de redimensionner une colonne dans un fichier Excel via PowerShell, de tel façon qu'elle prenne la longueur de la plus longue chaine qu'elle contient ?
En ce moment, via un script je crée un nouveau fichier Excell, dedans j'y introduit des données, mais ensuite quand je l'ouvre, ce n'est pas très clair, je dois redimensionner manuellement les colonne afin de voir entièrement les informations qu'elles contiennent.
Merci
J'aimerais savoir si il est possible de redimensionner une colonne dans un fichier Excel via PowerShell, de tel façon qu'elle prenne la longueur de la plus longue chaine qu'elle contient ?
En ce moment, via un script je crée un nouveau fichier Excell, dedans j'y introduit des données, mais ensuite quand je l'ouvre, ce n'est pas très clair, je dois redimensionner manuellement les colonne afin de voir entièrement les informations qu'elles contiennent.
Merci
Connexion ou Créer un compte pour participer à la conversation.
- brutosaure
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 59
- Remerciements reçus 0
il y a 12 ans 1 semaine #11568
par brutosaure
Réponse de brutosaure sur le sujet Re:Redimension colonne Excel
Pour ceux que cela pourrait intéressé, cela ce fait de cette manière là:
[code:1]$Excel = New-Object -ComObject Excel.Application
$Excel.Cells.EntireColumn.AutoFit()[/code:1]<br><br>Message édité par: brutosaure, à: 19/04/12 13:51
[code:1]$Excel = New-Object -ComObject Excel.Application
$Excel.Cells.EntireColumn.AutoFit()[/code:1]<br><br>Message édité par: brutosaure, à: 19/04/12 13:51
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6302
- Remerciements reçus 68
il y a 12 ans 1 semaine #11583
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Redimension colonne Excel
Merci.
Faudrait faire une FAQ sur l'usage d'Excel sous PS
Faudrait faire une FAQ sur l'usage d'Excel sous PS
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Bernadie
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 7
- Remerciements reçus 0
il y a 9 ans 11 mois #17457
par Bernadie
Réponse de Bernadie sur le sujet Re:Redimension colonne Excel
Bonjour,
j'ai essayé ta solution mais elle ne fonctionne pas sur mon script, je reçois une erreur :
[code:1]
Impossible d'appeler une méthode dans une expression Null.
Au caractère C:\Users\stagedsi\Documents\PS\top_partage\test.ps1:8 : 1
+ $Excel.Cells.EntireColumn.AutoFit()
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation : (:«») [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
[/code:1]
Es-ce une erreur de ma part?
Voici mon script:
[code:1]
#Variable
$Chemin = j ai caché les chemins volontairement
$CheminSave = j ai caché les chemins volontairement
$CheminRetour = j ai caché les chemins volontairement
# Création du fichier de synthèse
$ExcelDestObj = New-Object -comobject Excel.Application
$ExcelDestBook = $ExcelDestObj.Workbooks.Add()
#Adaptation de la taille des cellules
$Excel.Cells.EntireColumn.AutoFit()
# Feuillet \"Liste des Tâches planifées\"
$ExcelDestSheet = $ExcelDestBook.Worksheets.Add()
$ExcelDestSheet.Name = \"Synthèse des partages\"
$ExcelDestSheet.Cells.Item(1,1) = \"Nom des partages\"
$ExcelDestSheet.Cells.Item(1,2) = \"Nb d'utilisateurs\"
# On crée un tableau vide pour stocker et trier les résultats
$Output = @()
# On liste les fichiers contenant les partages de chaque utilisateur
# Et on boucle dessus
Get-ChildItem $Chemin | % {
$Fichier = $_
# On récupère le contenu du fichier qu'on colle dans un tableau
Get-Content $Fichier | % {
$prop = @{\"UserName\"=$Fichier.Name;
\"ShareUNC\"=$_}
$Output += New-Object -TypeName pscustomObject -Property $prop
}
}
$tableau = @($($Output | Group ShareUNC | Select Name, Count |Sort Count -Descending))
$tailleTableau = $tableau.length
$y = 0
$i = 2
while($y -lt $tailleTableau)
{
#Récuération dans le tableau
$Partage = $tableau[$y].Name
$NbUtilisateur = $tableau[$y].Count
#Rangement dans les cellules
$ExcelDestSheet.Cells.Item($i,1)= $Partage
$ExcelDestSheet.Cells.Item($i,2)= $NbUtilisateur
#Incrémentation
$i++
$y++
}
# Enregistrement du tableau de synthèse
$ExcelDestObj.ActiveWorkBook.SaveAs($Cheminsave)
# Libération des ressources
$ExcelDestBook.Close()
$ExcelDestObj.Quit()
cd $CheminRetour
[/code:1]
Message édité par: Ombrefst, à: 14/05/14 09:39<br><br>Message édité par: Ombrefst, à: 14/05/14 09:40
j'ai essayé ta solution mais elle ne fonctionne pas sur mon script, je reçois une erreur :
[code:1]
Impossible d'appeler une méthode dans une expression Null.
Au caractère C:\Users\stagedsi\Documents\PS\top_partage\test.ps1:8 : 1
+ $Excel.Cells.EntireColumn.AutoFit()
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation : (:«») [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
[/code:1]
Es-ce une erreur de ma part?
Voici mon script:
[code:1]
#Variable
$Chemin = j ai caché les chemins volontairement
$CheminSave = j ai caché les chemins volontairement
$CheminRetour = j ai caché les chemins volontairement
# Création du fichier de synthèse
$ExcelDestObj = New-Object -comobject Excel.Application
$ExcelDestBook = $ExcelDestObj.Workbooks.Add()
#Adaptation de la taille des cellules
$Excel.Cells.EntireColumn.AutoFit()
# Feuillet \"Liste des Tâches planifées\"
$ExcelDestSheet = $ExcelDestBook.Worksheets.Add()
$ExcelDestSheet.Name = \"Synthèse des partages\"
$ExcelDestSheet.Cells.Item(1,1) = \"Nom des partages\"
$ExcelDestSheet.Cells.Item(1,2) = \"Nb d'utilisateurs\"
# On crée un tableau vide pour stocker et trier les résultats
$Output = @()
# On liste les fichiers contenant les partages de chaque utilisateur
# Et on boucle dessus
Get-ChildItem $Chemin | % {
$Fichier = $_
# On récupère le contenu du fichier qu'on colle dans un tableau
Get-Content $Fichier | % {
$prop = @{\"UserName\"=$Fichier.Name;
\"ShareUNC\"=$_}
$Output += New-Object -TypeName pscustomObject -Property $prop
}
}
$tableau = @($($Output | Group ShareUNC | Select Name, Count |Sort Count -Descending))
$tailleTableau = $tableau.length
$y = 0
$i = 2
while($y -lt $tailleTableau)
{
#Récuération dans le tableau
$Partage = $tableau[$y].Name
$NbUtilisateur = $tableau[$y].Count
#Rangement dans les cellules
$ExcelDestSheet.Cells.Item($i,1)= $Partage
$ExcelDestSheet.Cells.Item($i,2)= $NbUtilisateur
#Incrémentation
$i++
$y++
}
# Enregistrement du tableau de synthèse
$ExcelDestObj.ActiveWorkBook.SaveAs($Cheminsave)
# Libération des ressources
$ExcelDestBook.Close()
$ExcelDestObj.Quit()
cd $CheminRetour
[/code:1]
Message édité par: Ombrefst, à: 14/05/14 09:39<br><br>Message édité par: Ombrefst, à: 14/05/14 09:40
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6302
- Remerciements reçus 68
il y a 9 ans 11 mois #17458
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Redimension colonne Excel
Ombrefst écrit:
OuiEs-ce une erreur de ma part?
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- StefaneB
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 7
- Remerciements reçus 0
il y a 9 ans 11 mois #17480
par StefaneB
Réponse de StefaneB sur le sujet Re:Redimension colonne Excel
Laurent Dardenne écrit:
Ce n'est pas gentil de se moquerOmbrefst écrit:
OuiEs-ce une erreur de ma part?
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.079 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Redimension colonne Excel