Question Gestion date Excel avec Powershell

Plus d'informations
il y a 7 ans 5 jours #28474 par Atou
Bonjour,

J'ai une question simple et j'espère que la réponse sera aussi simple ;)

En fait je voudrais simplement faire une boucle if en Powershell qui lorsque le temps en supérieur à 100h, me colorie un certaine case en vert et si le temps est inférieur à 10h, il me la colorie en rouge.

Je ne pense pas avoir de problème pour faire cette boucle, mon seul problème est au niveau de la syntaxe du temps, en effet sur Excel le temps est noté comme ceci : 00:00:00 et je ne pense pas que Powershell soit capable de géré une syntaxe pareil.

PS : Je suis obligé de le faire en Powershell.

Merci d'avance ;)

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

Plus d'informations
il y a 7 ans 5 jours #28475 par Hicham Madini
Slt,
oui c'est possible en utilisant la syntaxe suivante:

[code:1]-NumberFormat 'hh:mm:«»ss'[/code:1]

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

Plus d'informations
il y a 7 ans 5 jours #28477 par Atou
Réponse de Atou sur le sujet Re:Gestion date Excel avec Powershell
Tu pourrais juste me montrer un exemple, j'ai créer une boucle mais je ne sais pas ou trop placer ce paramètre.

Merci d'avance ;)<br><br>Message édité par: Atou45, à: 15/03/19 12:31

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

Plus d'informations
il y a 7 ans 5 jours #28478 par Hicham Madini
non c'est l'inverse qu'il faut faire, tu montres ton code et on essaie ensemble de l'adapter :P

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

Plus d'informations
il y a 7 ans 5 jours #28479 par Atou
Réponse de Atou sur le sujet Re:Gestion date Excel avec Powershell
Ah ben si tu veux pas de soucis :
[code:1]

Function Update-Destination($LogicielToMark, $LogicielToCopy) {
$Source.Activate()
$Row = 1
$Logiciel = $Source.ActiveSheet.Range(\&quot;A\&quot; + $Row).Text
while ($Logiciel.Length) {
if ($LogicielToMark -contains $Logiciel) {
$Source.Activate()
$Source.ActiveSheet.Range(\&quot;A\&quot; + $Row).copy()
$Destination.Activate()
$lastRow = $wsD.UsedRange.rows.count + 1
$wsD.Range(\&quot;A\&quot; + $lastRow).select()
$Destination.ActiveSheet.Paste()
$wsD.Range(\&quot;D\&quot; + ($lastRow -1) + \&quot;:E\&quot; + ($lastRow -1)).copy() # copier les formules pour calculer le Cumul
$wsD.Range(\&quot;D\&quot; + $lastRow).select()
$Destination.ActiveSheet.Paste() # coller les formules pour calculer le Cumul
$Source.ActiveSheet.Range(\&quot;B\&quot; + $Row).copy()
$wsD.Cells($lastRow, $lastCol + 2).select()
$Destination.ActiveSheet.Paste()
$Source.ActiveSheet.Range(\&quot;C\&quot; + $Row).copy()
$wsD.Cells($lastRow, $lastCol +1).select()
$Destination.ActiveSheet.Paste()
$Source.ActiveSheet.Range(\&quot;A\&quot; + $Row).Cells.Font.ColorIndex = 3
}
Else {
if ($LogicielToCopy -contains $Logiciel) {
$Source.Activate()
$CurrentRow = $wsD.Columns.item(1).find($Logiciel).row
$Source.ActiveSheet.Range(\&quot;B\&quot; + $Row).copy()
$Destination.Activate()
$wsD.Cells($CurrentRow , $lastCol + 2).select()
$Destination.ActiveSheet.Paste()
$Source.ActiveSheet.Range(\&quot;C\&quot; + $Row).copy()
$wsD.Cells($CurrentRow , $lastCol +1).select()
$Destination.ActiveSheet.Paste()
}


}
if ($Destination.ActiveSheet.Range(\&quot;E\&quot; + $Row) -ge 100) {
$Destination.ActiveSheet.Range(\&quot;E\&quot; + $Row).Cells.Font.ColorIndex = 3
}
$Row++
$Logiciel = $Source.ActiveSheet.Range(\&quot;A\&quot; + $Row).Text
}
}


[/code:1]

J'ai crée une troisième boucle if qui je pense aurait permit de le faire, manque juste ton paramètre ;)

J'ai mit \&quot;-ge 100\&quot; pour supérieur ou égal mais bon forcement quand j'exécute mon script j'ai une erreur comme quoi qu'il ne peut pas comparer vu la syntaxe.<br><br>Message édité par: Atou45, à: 15/03/19 12:36

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

Plus d'informations
il y a 7 ans 5 jours #28480 par Hicham Madini
oui mais ca c'est mon dernier script, et tu n'as même pas dit merci :unsure:

hmmm tu compare quoi avec -ge 100? surement la valeur de la cellule, donc formcememnt il faut ajouter un .value

sinon je vais voir le soir, même si tu n'as pas dit merci :)

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

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