[R] Lire dans un fichier Excel
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
-
- Niveau 2
- Messages : 19
- Enregistré le : jeu. 13 déc. 2007 14:38
- Localisation : Nantes
- Status : Hors ligne
[R] Lire dans un fichier Excel
Bonjour a tous,
Voici ce qui m'amene ,j'ai vu dans plusieurs poste ,certains utilisateurs du forum indiquer qu'ils allaient lire des données dans un fichier excel,or je ne trouve pas la fonction permettant de le faire dans l'aide d'AutoIt.
Et pour le script que je tente de développer,j'ai besoin de cette fonction pour aller lire dans le fichier ,des données suivant la date (jour/mois/année),
j'ai rattaché une copie dudit fichier (je l'ai un peu épuré dans un soucis de confidentialité,ca vient de mon taf tout de même)
je m'explique :
le script doit aller lire dans ce fichier ,la données se trouvant sur la ligne 17 (ma pomme),mais la colonne dépend de la date,et la ou ça se complique ,c'est que ca n'est pas régulier,le planning(puisque c'est de cela qu'il s'agit) est fait pour quelques semaine à l'avance seulement ,nous avons d'autres plannings d'avance pour les autres semaines ,et il peut changer a tout moment,il nous est publié sur intranet et n'est dispo qu'en lecture seule.
Le but étant que le script soit capable de retrouver la colone correspondant au jour pour savoir ,toujours dans cette même colonne ,où il doit aller lire l'info sachant qu'il a déja la ligne (la 17 ,ma pomme).
Enfin je tiens a préciser que pour moi la partie ouverture du fichier et obtention de la date est réglée
J'espère avoir été suffisement précis dans la description de mon besoin(n'hésitez pas de me demande plus d'infos)
Et surtout merci paravance de vos réponses éventuelles
Fred
Voici ce qui m'amene ,j'ai vu dans plusieurs poste ,certains utilisateurs du forum indiquer qu'ils allaient lire des données dans un fichier excel,or je ne trouve pas la fonction permettant de le faire dans l'aide d'AutoIt.
Et pour le script que je tente de développer,j'ai besoin de cette fonction pour aller lire dans le fichier ,des données suivant la date (jour/mois/année),
j'ai rattaché une copie dudit fichier (je l'ai un peu épuré dans un soucis de confidentialité,ca vient de mon taf tout de même)
je m'explique :
le script doit aller lire dans ce fichier ,la données se trouvant sur la ligne 17 (ma pomme),mais la colonne dépend de la date,et la ou ça se complique ,c'est que ca n'est pas régulier,le planning(puisque c'est de cela qu'il s'agit) est fait pour quelques semaine à l'avance seulement ,nous avons d'autres plannings d'avance pour les autres semaines ,et il peut changer a tout moment,il nous est publié sur intranet et n'est dispo qu'en lecture seule.
Le but étant que le script soit capable de retrouver la colone correspondant au jour pour savoir ,toujours dans cette même colonne ,où il doit aller lire l'info sachant qu'il a déja la ligne (la 17 ,ma pomme).
Enfin je tiens a préciser que pour moi la partie ouverture du fichier et obtention de la date est réglée
J'espère avoir été suffisement précis dans la description de mon besoin(n'hésitez pas de me demande plus d'infos)
Et surtout merci paravance de vos réponses éventuelles
Fred
- Fichiers joints
-
- planning-28_du_18_fev_2008_au_10_mai_2008.zip
- le fichier en question est zippé car le forum n'accepte pas le .xls
- (9.53 Kio) Téléchargé 367 fois
-
- Niveau 11
- Messages : 1826
- Enregistré le : lun. 23 juil. 2007 12:31
- Localisation : Bureau
- Status : Hors ligne
Re: [..]Lire dans un fichier Excel
salut lutin44, moi je m'y connait pas, je connait l'extension sans plus.
Regarde dans l'aide d'autoit et fait une recherche sur le mot clé Excel, tu obtiendra 2/3 exemple, il faut créer un objet excel.application.
je vais testé mais je ne te promet rien, je ne sais pas si çà fonctionnera, car je ne dispose ni de word ni d'excel.
ps : C'est bien ce qui me semblait, faut excel , donc ... désolé je réplique pour rien
Regarde dans l'aide d'autoit et fait une recherche sur le mot clé Excel, tu obtiendra 2/3 exemple, il faut créer un objet excel.application.
je vais testé mais je ne te promet rien, je ne sais pas si çà fonctionnera, car je ne dispose ni de word ni d'excel.
ps : C'est bien ce qui me semblait, faut excel , donc ... désolé je réplique pour rien

- moutelous
- Niveau 6
- Messages : 229
- Enregistré le : sam. 09 févr. 2008 19:51
- Localisation : Rennes
- Status : Hors ligne
Re: [..]Lire dans un fichier Excel
Bonjour
Sur le site http://www.autoitscript.com/forum/index ... read+excel
Attached examples:
ExcelCOM_UDF_Example01.au3 --- Basic usage (create book, populate cells, read cells, save, quit)
ExcelCOM_UDF_Example02.au3 --- Basic usage (create book, populate table, add formulas, save, quit)
This post has been edited by Locodarwin: Jan 5 2008, 08:37 PM
Attached File(s)
Attached File ExcelCOM_UDF.au3 ( 138.3K ) Number of downloads: 1039
Attached File ExcelCOM_UDF_Example01.au3 ( 798bytes ) Number of downloads: 2589
Attached File ExcelCOM_UDF_Example02.au3 ( 2.29K ) Number of downloads: 2145
Sur le site http://www.autoitscript.com/forum/index ... read+excel
Attached examples:
ExcelCOM_UDF_Example01.au3 --- Basic usage (create book, populate cells, read cells, save, quit)
ExcelCOM_UDF_Example02.au3 --- Basic usage (create book, populate table, add formulas, save, quit)
This post has been edited by Locodarwin: Jan 5 2008, 08:37 PM
Attached File(s)
Attached File ExcelCOM_UDF.au3 ( 138.3K ) Number of downloads: 1039
Attached File ExcelCOM_UDF_Example01.au3 ( 798bytes ) Number of downloads: 2589
Attached File ExcelCOM_UDF_Example02.au3 ( 2.29K ) Number of downloads: 2145
A+
-
- Niveau 2
- Messages : 19
- Enregistré le : jeu. 13 déc. 2007 14:38
- Localisation : Nantes
- Status : Hors ligne
Re: [..] Lire dans un fichier Excel
Salut moutelous
En effet j'ai été voir et j'ai télécharger les fichiers d'example,il y a matière a travailler ,mais c'est assez complexe .....
En tout cas merci pour ta réponse ,je n'ai plus qu'a potasser cela
En effet j'ai été voir et j'ai télécharger les fichiers d'example,il y a matière a travailler ,mais c'est assez complexe .....
En tout cas merci pour ta réponse ,je n'ai plus qu'a potasser cela
- moutelous
- Niveau 6
- Messages : 229
- Enregistré le : sam. 09 févr. 2008 19:51
- Localisation : Rennes
- Status : Hors ligne
Re: [..] Lire dans un fichier Excel
Bonjour,
Je me permet de te proposer ceci en espérant que cela t'aidera :
Ce code est à adapter en fonction de tes besoins.
Je suis parti du principe que les dates se trouvent toujours en ligne 5 du tableau et les infos te concernant se trouvent toujours en ligne 17.
Le fichier XLS que je viens lire se trouve sur D:\ et se nomme Planning.xls
J'ai également modifié l'UDF du site anglais pour qu'il colle avec notre version Francaise d'excel (sinon bug).
Ci joint l'UDF modifié
A+
Je me permet de te proposer ceci en espérant que cela t'aidera :
Code : Tout sélectionner
#include <ExcelCom_UDF.au3>
DIM $array
Const $LigneDate = 5
Const $LigneLutin = 17
$Planning=_ExcelBookOpen("D:\Planning.xls",1)
If @error > 0 Then
msgbox(0, "ERREUR","ERREUR...."&@error)
EndIf
$date = InputBox("Date", "Donnez la date à consulter ou conservez la date du jour",@MDAY&"/"&@MON&"/"&@YEAR)
If @error = 1 Then
Exit
EndIf
$array=_ExcelFindInRange($Planning,$date,$LigneDate,1,$LigneDate,100)
If @error > 0 Then
msgbox(0, "ERREUR","ERREUR...."&@error)
ElseIf $array[0][0]=0 Then
msgbox(0, "Pas de correspondance","La date saisie est erronée")
Exit
EndIf
$Colonne=$array[1][2]
$val = _ExcelReadCell($Planning, $LigneLutin, $Colonne)
If @error > 0 Then
msgbox(0, "ERREUR","ERREUR...."&@error)
EndIf
msgbox(0, "Contenu de Ligne 17 Colonne"&$array[1][2] ,"Valeur = "&$val)
Je suis parti du principe que les dates se trouvent toujours en ligne 5 du tableau et les infos te concernant se trouvent toujours en ligne 17.
Le fichier XLS que je viens lire se trouve sur D:\ et se nomme Planning.xls
J'ai également modifié l'UDF du site anglais pour qu'il colle avec notre version Francaise d'excel (sinon bug).
Ci joint l'UDF modifié
A+
A+
-
- Niveau 7
- Messages : 318
- Enregistré le : ven. 15 févr. 2008 12:25
- Localisation : Paris
- Status : Hors ligne
Re: [..] Lire dans un fichier Excel
Excuse ma curiosité mais pourrais-tu STP indiquer quels genres de changements tu as effectué ?moutelous a écrit :J'ai également modifié l'UDF du site anglais pour qu'il colle avec notre version Francaise d'excel (sinon bug)
- moutelous
- Niveau 6
- Messages : 229
- Enregistré le : sam. 09 févr. 2008 19:51
- Localisation : Rennes
- Status : Hors ligne
Re: [..] Lire dans un fichier Excel
Bonjour,
J'ai modifié une fonction que j'utilise dans le script proposé (je n'ai pas pris le soin de regarder le reste...).
Il s'agit de la fonction et en fait j'ai remplacé
par
pour éviter une plante lors du traitement de l'array ..
A+
J'ai modifié une fonction que j'utilise dans le script proposé (je n'ai pas pris le soin de regarder le reste...).
Il s'agit de la fonction
Code : Tout sélectionner
_ExcelFindInRange
Code : Tout sélectionner
$Temp1 = StringRegExp($aR1C1[$xx], "[RZ]([^CS]*)[CS](.*)",3)
Code : Tout sélectionner
$Temp1 = StringRegExp($aR1C1[$xx], "[L]([^C]*)[C](.*)",3)
A+
A+
-
- Niveau 2
- Messages : 19
- Enregistré le : jeu. 13 déc. 2007 14:38
- Localisation : Nantes
- Status : Hors ligne
Re: [..] Lire dans un fichier Excel
Salut moutelous,
c'est exactement cela
,j'ai juste testé rapidement ton script,mais c'est exactement ce à quoi je voulais arriver!!!
.
Je vais le potasser un peu et l'adapter a mes besoin precis ,comme tu disais ,mais c'est super cool,par ce que jusqu'ici ,je ne te cache pas que je galérais avec les infos trouvées sur le forum anglophone d'AutoIt,j'avancais doucement ,mais je crois que je me compliquait la vie en regard de ce que tu as fait toi
Merci de ta participation ,je travaille ça
@+
Fred
c'est exactement cela




Je vais le potasser un peu et l'adapter a mes besoin precis ,comme tu disais ,mais c'est super cool,par ce que jusqu'ici ,je ne te cache pas que je galérais avec les infos trouvées sur le forum anglophone d'AutoIt,j'avancais doucement ,mais je crois que je me compliquait la vie en regard de ce que tu as fait toi
Merci de ta participation ,je travaille ça
@+
Fred