Question
Excel - Lecture et Comparaison
- Ivo
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 17
- Remerciements reçus 0
il y a 10 ans 10 mois #19614
par Ivo
Réponse de Ivo sur le sujet Re:Excel - Lecture et Comparaison
En fait, je vais faire le travail sur mon poste. Une évolution sera à prévoir dans le futur lorsque j'aurais les accords..
Sinon, pour le moment, le script sera lancé manuellement et fera une vérification par rapport à la date du jour d’exécution.
Après, il tournera via une tâche planifié tous les jours.
Pour ce qui est des délais. Il faut une comparaison par rapport à la date lu du fichier XL et la date du jour => faire le delta et si la valeur est égale à 30 jours, envoyer un mail. Si la valeur est égale à 7 jours, envoyer un mail.
Je ne sais pas si je suis assez explicite dans ma description.
Sinon, pour le moment, le script sera lancé manuellement et fera une vérification par rapport à la date du jour d’exécution.
Après, il tournera via une tâche planifié tous les jours.
Pour ce qui est des délais. Il faut une comparaison par rapport à la date lu du fichier XL et la date du jour => faire le delta et si la valeur est égale à 30 jours, envoyer un mail. Si la valeur est égale à 7 jours, envoyer un mail.
Je ne sais pas si je suis assez explicite dans ma description.
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 10 ans 10 mois #19615
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Excel - Lecture et Comparaison
Ivory écrit:
Ivory écrit:
Par exemple comment fais-tu pour ne pas traiter + fois la même ligne (même commande) ?
Par exemple ici :
Ivory écrit:
Je crains qu'il y ait qq soucis dans ce contexte, et dépend, si je me souviens, du compte utilisé par la tâche. Office est conçu pour un usage 'interactif', c'est à dire dans une session utilisateur.Après, il tournera via une tâche planifié tous les jours.
Ivory écrit:
Si, mais il faut expliciter les règles.Je ne sais pas si je suis assez explicite dans ma description.
Par exemple comment fais-tu pour ne pas traiter + fois la même ligne (même commande) ?
Par exemple ici :
Ivory écrit:
Tu supposes que ton traitement sera tjr activé, s'il existe un décalage d'un jour ou plus (PRA), le test sur l'égalité ne fonctionnera pas.si la valeur est égale à 30 jours
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Ivo
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 17
- Remerciements reçus 0
il y a 10 ans 10 mois #19617
par Ivo
Réponse de Ivo sur le sujet Re:Excel - Lecture et Comparaison
Merci pour tes réponses Laurent.
Pour faire plus simple.
Est-il possible de modifier le fichier XL en csv et analyser le csv.
Faire un Copy-item pour le copier et ensuite un Rename-Item afin de le transformer en .csv
Exécution : Lire chaque ligne de la Colonne 3 (Date) et la comparer.
Peut-on calculer ce delta entre la date d'une cellule et la date du jour ? Et la retourner dans une variable ?
Le but premier de ce script est vraiment l'analyse de la date d'une cellule par rapport à la date du jour afin de mettre en place des rapports.
Pour faire plus simple.
Est-il possible de modifier le fichier XL en csv et analyser le csv.
Faire un Copy-item pour le copier et ensuite un Rename-Item afin de le transformer en .csv
Exécution : Lire chaque ligne de la Colonne 3 (Date) et la comparer.
Peut-on calculer ce delta entre la date d'une cellule et la date du jour ? Et la retourner dans une variable ?
Le but premier de ce script est vraiment l'analyse de la date d'une cellule par rapport à la date du jour afin de mettre en place des rapports.
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 10 ans 10 mois #19618
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Excel - Lecture et Comparaison
Ivory écrit:
Il existe une approche via l'objet COM est la méthode SaveAs, cf. forum contribution.
Ivory écrit:
[code:1]
$DateCourante=Get-Date
#todo : Boucle
$DateValidation=$ObjetCourant.Date_de_validation -As [DateTime]
$DateDiff=($DateValidation - $DateCourante).Days
$StrDebug=\"$($DateValidation.ToShortDateString()) $DateDiff\"
Switch ($DateDiff)
{
{$_ -eq -61} {Write-Host \"A 2 mois avant Expiration : $StrDebug\";break}
{$_ -eq -31} {Write-Host \"A 1 mois avant expiration : $StrDebug\";break}
{$_ -eq -14} {Write-Host \"A 2 semaines avant expiration : $StrDebug\";break}
default {Write-Host \"Autres cas : $StrDebug\"}
}
}
[/code:1]
Voir ce post .Est-il possible de modifier le fichier XL en csv et analyser le csv.
Il existe une approche via l'objet COM est la méthode SaveAs, cf. forum contribution.
Ivory écrit:
Une ébauche :Peut-on calculer ce delta entre la date d'une cellule et la date du jour ? Et la retourner dans une variable ?
[code:1]
$DateCourante=Get-Date
#todo : Boucle
$DateValidation=$ObjetCourant.Date_de_validation -As [DateTime]
$DateDiff=($DateValidation - $DateCourante).Days
$StrDebug=\"$($DateValidation.ToShortDateString()) $DateDiff\"
Switch ($DateDiff)
{
{$_ -eq -61} {Write-Host \"A 2 mois avant Expiration : $StrDebug\";break}
{$_ -eq -31} {Write-Host \"A 1 mois avant expiration : $StrDebug\";break}
{$_ -eq -14} {Write-Host \"A 2 semaines avant expiration : $StrDebug\";break}
default {Write-Host \"Autres cas : $StrDebug\"}
}
}
[/code:1]
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Ivo
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 17
- Remerciements reçus 0
il y a 10 ans 10 mois #19621
par Ivo
Réponse de Ivo sur le sujet Re:Excel - Lecture et Comparaison
Bonjour,
merci pour l'ébauche concernant le traitement du delta.
Je suis tombé sur l'un de tes sujets concernant la conversion d'un fichier xls en csv.
www.powershell-scripting.com/index.php?o...id=2630&catid=14
La tranformation en csv, me permettra d'utiliser le split[] pour récupérer la \"date\" de ma colonne via le séparateur \",\".
Cependant, le fichier csv se créer bien mais est vide. J'ai deux erreurs... Peut-être est-ce dû à la version V3.0 de PS sur ma machine. Je travail sur du office 2003.
[code:1]Type [Microsoft.Office.Interop.Excel.xlFileFormat] introuvable : assurez-vous
que l’assembly contenant ce type est chargé.
Au caractère Ligne:42 : 2
+ $FileFormat=[Microsoft.Office.Interop.Excel.xlFileFormat]::«»xlCsv
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation : (Microsoft.Offic...el.xlFileF
ormat:TypeName) [], RuntimeException
+ FullyQualifiedErrorId : TypeNotFound
Exception lors de l'appel de «SaveAs» avec «2» argument(s): «La méthode SaveAs
de la classe Workbook a échoué.»
Au caractère Ligne:56 : 3
+ $Classeur.SaveAs($NomFichierTmp,$FileFormat)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:«») [], MethodInvocationException
+ FullyQualifiedErrorId : ComMethodTargetInvocation[/code:1]
merci pour l'ébauche concernant le traitement du delta.
Je suis tombé sur l'un de tes sujets concernant la conversion d'un fichier xls en csv.
www.powershell-scripting.com/index.php?o...id=2630&catid=14
La tranformation en csv, me permettra d'utiliser le split[] pour récupérer la \"date\" de ma colonne via le séparateur \",\".
Cependant, le fichier csv se créer bien mais est vide. J'ai deux erreurs... Peut-être est-ce dû à la version V3.0 de PS sur ma machine. Je travail sur du office 2003.
[code:1]Type [Microsoft.Office.Interop.Excel.xlFileFormat] introuvable : assurez-vous
que l’assembly contenant ce type est chargé.
Au caractère Ligne:42 : 2
+ $FileFormat=[Microsoft.Office.Interop.Excel.xlFileFormat]::«»xlCsv
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation : (Microsoft.Offic...el.xlFileF
ormat:TypeName) [], RuntimeException
+ FullyQualifiedErrorId : TypeNotFound
Exception lors de l'appel de «SaveAs» avec «2» argument(s): «La méthode SaveAs
de la classe Workbook a échoué.»
Au caractère Ligne:56 : 3
+ $Classeur.SaveAs($NomFichierTmp,$FileFormat)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:«») [], MethodInvocationException
+ FullyQualifiedErrorId : ComMethodTargetInvocation[/code:1]
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 10 ans 10 mois #19623
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Excel - Lecture et Comparaison
Vérifie si l'assembly interop est bien chargé :
[code:1]
function Get-CurrentDomain{[AppDomain]::CurrentDomain}
function Get-Assemblies{(Get-CurrentDomain).GetAssemblies()}
$Excel = new-object -com Excel.Application
Get-Assemblies|select location|split-path -leaf
[/code:1]
Pour l'appel de la méthode SaveAs vérifie le nombre de paramètre correspond.Mais il se peut que la première erreur déclenche la seconde.
je ne pense pas que la v3 soit en cause, je viens tester cet extrait code sur la v4 sous Seven x64.
Une fois le CSV construit, utilise import-csv, car rien n'empêche d'avoir un caractère ',' dans une cellule de type string.
Ceinture,bretelle...
[code:1]
function Get-CurrentDomain{[AppDomain]::CurrentDomain}
function Get-Assemblies{(Get-CurrentDomain).GetAssemblies()}
$Excel = new-object -com Excel.Application
Get-Assemblies|select location|split-path -leaf
[/code:1]
Pour l'appel de la méthode SaveAs vérifie le nombre de paramètre correspond.Mais il se peut que la première erreur déclenche la seconde.
je ne pense pas que la v3 soit en cause, je viens tester cet extrait code sur la v4 sous Seven x64.
Une fois le CSV construit, utilise import-csv, car rien n'empêche d'avoir un caractère ',' dans une cellule de type string.
Ceinture,bretelle...
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.059 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Excel - Lecture et Comparaison