Question Chercher une feuille excel dans un classeur

Plus d'informations
il y a 5 ans 2 mois #28090 par Habay Olivier
Bonjour à tous,

Je possède un fichier xlsx avec plusieurs feuilles.
Est-il possible de faire une recherche par rapport au nom de la feuille?
Une fois la feuille trouvée, y écrire à la première ligne vide certaines données?

J'ai deja le script pour demander à l'utilisateur les données à encoder et pour trouver la première ligne vide.

Malgré mes recherches, impossible de trouver un script ou autre pour trouver une feuille spécifique dans un classeur.

Merci pour votre aide

PS: si ce n'est pas possible, la première cellule (A1) de chaque feuille contient le nom de la feuille. Au cas ou ce serait plus simple de chercher via cette cellule

Voila le script que j'ai pour le moment:

# pour ouvrir un fichier xl
$excel_file_path = 'C:\test_powershell\server.xlsx'
$workbook = $excel.Workbooks.open($excel_file_path)

# demande a l'utilisateur son site
Add-Type -AssemblyName Microsoft.VisualBasic
$site = [Microsoft.VisualBasic.Interaction]::InputBox('Enter your country', 'Site', \"BE\")

#trouver le feuille correspondante au site
??????

# pour trouver la premiere ligne vide
$col = 1
$ligne = 2

#Recherche première ligne vide
while($ws.Cells.Item($ligne, $col).Value() -ne $Null){
$ligne++
}

# écrire les données sur la première ligne vide
# date
$ws.Cells.Item($ligne,$col) = get-date
$col++
# Nom d'utilisateur
$ws.Cells.Item($ligne,$col) = $env:username
# site
$col++
$ws.Cells.Item($ligne,$col) = $site
$col++<br><br>Message édité par: lesagitaire74, à: 29/01/19 10:36

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

Plus d'informations
il y a 5 ans 2 mois #28092 par Philippe
salut lesagitaire74

a tu regarder sur cette contribution de iTorx, il y a le dernier exemple qui peut d'aidée
et iTorx il peut sans doute te donner un exemple pour ton cas !

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

Plus d'informations
il y a 5 ans 2 mois #28095 par Habay Olivier
Merci et effectivement il a l'air bien au courant en excel/powershell. Je vais voir s'il sais me donner un coup de main :P

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

Plus d'informations
il y a 5 ans 1 mois #28107 par Sebastien Maltais
Salut,

Tout d'abord tu dois installer powershell 5.1 et le module importe-excel.

Powershell 5.1 www.microsoft.com/en-us/download/details.aspx?id=54616

Installer le module à partir de PowerShell Gallery
[code:1] install-module -name import-excel[/code:1]


Ton code

[code:1]# pour ouvrir un fichier xl
$excel_file_path = 'C:\test_powershellserver.xlsx'
$workbook = $excel.Workbooks.open($excel_file_path)

# demande a l'utilisateur son site
Add-Type -AssemblyName Microsoft.VisualBasic
$site =[Microsoft.VisualBasic.Interaction]::InputBox('Enter your country', 'Site', \&quot;BE\&quot;«»)

#trouver le feuille correspondante au site
???????????????????????????????????????????????????????????
$feuille_site = Import-Excel -path $excel_file_path -WorksheetName $site
???????????????????????????????????????????????????????????

# pour trouver la premiere ligne vide
$col = 1
$ligne = 2

#Recherche première ligne vide
while($ws.Cells.Item($ligne, $col).Value() -ne $Null){
$ligne++
}

# écrire les données sur la première ligne vide
# date
$ws.Cells.Item($ligne,$col) = get-date
$col++
# Nom d'utilisateur
$ws.Cells.Item($ligne,$col) = $env:username
# site
$col++
$ws.Cells.Item($ligne,$col) = $site
$col++[/code:1]<br><br>Message édité par: iTork, à: 4/02/19 17:28

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

Plus d'informations
il y a 5 ans 1 mois #28109 par Habay Olivier
Super Merci beaucoup iTork

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

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