Bonjour,
Ma demande est simple mais, pour moi, très compliqué
J'ai une liste de 36 fichiers pdf dans un dossier connu
J'aimerai copier leurs titres pour le mettre dans la colonne A d'un fichier excel connu
J'ai pas réussi à trouver tous seul :/
Merci
Copier titres de document pour mettre dans 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.
- Tlem
- Site Admin
- Messages : 11773
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: Copier titres de document pour mettre dans excel
Bonsoir.
1 - Est-ce que les fichiers PDF sont à la racine de ce dossier et uniquement à la racine ?
2 - Est-ce que ces dossiers risquent d'être organisés dans des sous dossiers du dossier connu ?
Dans le cas N°1, utilisez la commande
Dans le cas N°2 utilisez la commande
Un fois le tableau obtenu, il vous suffit de faire une boucle de lecture du tableau (de la liste des fichiers) avec la commande
Et pour chaque éléments vous insérez l'information dans votre feuille Excel (probablement avec la commande
1 - Est-ce que les fichiers PDF sont à la racine de ce dossier et uniquement à la racine ?
2 - Est-ce que ces dossiers risquent d'être organisés dans des sous dossiers du dossier connu ?
Dans le cas N°1, utilisez la commande
_FileListToArray()
pour créer un tableau de la liste des fichiers du dossier connu (si vous suivez le lien, vous y trouverez le détail de la commande ainsi qu'un exemple).Dans le cas N°2 utilisez la commande
_FileListToArrayRec()
(même chose que ci-dessus, mais scan les sous dossiers).Un fois le tableau obtenu, il vous suffit de faire une boucle de lecture du tableau (de la liste des fichiers) avec la commande
For
(Lien pour les explications)Et pour chaque éléments vous insérez l'information dans votre feuille Excel (probablement avec la commande
_Excel_RangeWrite()
)Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Re: Copier titres de document pour mettre dans excel
Code : Tout sélectionner
#include <Excel.au3>
#include <File.au3>
Local $aArray1D = _FileListToArrayRec ( "C:\Users\Antoine\Desktop\FDS full", "*", 0, 1, 0, 0)
Local $sFilePath1 = @ScriptDir & "Liste a remplir.xlsx" ;This file should already exist
Local $oExcel = _ExcelBookOpen($sFilePath1)
_Excel_RangeWrite($liste, "FDS", $aArray1D, "A2")
J'obtient: C:\Users\ABC\Desktop\nom prod.au3" (12) : ==> Unknown function name.:
Local $oExcel = _ExcelBookOpen($sFilePath1)
Local $oExcel = ^ ERROR
>Exit code: 1
Je n'arrive pas à ouvrir un fichier Excel déjà existant et à y mettre ce que je veux dedans
Pouvez vous m'expliquer mon erreur ?
- walkson
- Modérateur
- Messages : 1020
- Enregistré le : ven. 12 août 2011 19:49
- Localisation : Hurepoix
- Status : Hors ligne
Re: Copier titres de document pour mettre dans excel
Bonjour,
Il y a plusieurs erreurs
en prenant l'exemple de l'aide
Il y a plusieurs erreurs
Local $sFilePath1 = @ScriptDir & "\Liste a remplir.xlsx"
Local $oExcel = _Excel_Open()
Local $oWorkbook = _Excel_BookOpen($oExcel, $sWorkbook, Default, Default, True)
Local $oWorkbook = _Excel_BookOpen($oExcel, $sWorkbook, Default, Default, True)
_Excel_RangeWrite($oWorkbook, $oWorkbook.Activesheet, $aArray2D, "B1")
en prenant l'exemple de l'aide
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Re: Copier titres de document pour mettre dans excel
CA MARCHE
MERCI !
MERCI !
Re: Copier titres de document pour mettre dans excel
Ok je ne sais pas jusqu'à quel point je peux demander de l'aide ou si je dois refaire un sujet pour ça Donc dans tout les cas excusez-moi
grace à vos conseils et à d'autres sujets j'ai assemblé cette "chose"
Théoriquement si j'arrive a faire en sorte que $filename prenne le premier fichier texte d'un dossier contenant tous les fichier à lire et descende à chaque boucle (ex: boucle 4 lecture du 4eme fichier) j'aurai un peu près réussi à faire ce que je veux.
J'aimerai toutefois vos avis et savoir si il y a pas des trucs à améliorer ?
grace à vos conseils et à d'autres sujets j'ai assemblé cette "chose"
Théoriquement si j'arrive a faire en sorte que $filename prenne le premier fichier texte d'un dossier contenant tous les fichier à lire et descende à chaque boucle (ex: boucle 4 lecture du 4eme fichier) j'aurai un peu près réussi à faire ce que je veux.
J'aimerai toutefois vos avis et savoir si il y a pas des trucs à améliorer ?
Code : Tout sélectionner
HotKeySet( "{END}", "_Exit") ;arret d'urgence
Func _Exit()
Exit
EndFunc
#include <file.au3>
#include <Excel.au3>
Global $cheminFichier =("C:\Users\Antoine\Desktop\FDS Gadec full")
Global $nbreFichier = DirGetSize($cheminFichier,1)
;--------------------------------------------------------------------- ;s'occupe des noms de prod
Local $aNom_prod = _FileListToArrayRec ( $cheminFichier, "*", 1, 1, 0, 0)
Local $sFilePath1 = @ScriptDir & "\Gadec.xlsx"
Local $oExcel = _Excel_Open()
Local $oWorkbook = _Excel_BookOpen($oExcel, $sFilePath1, Default, Default, True)
_Excel_RangeWrite($oWorkbook, "FDS", $aNom_prod, "A2")
;------------------------------------------------------------------- ;s'occupe des numéros CAS
For $i = 1 to $nbreFichier step 1
;------------------------------------------- ;lit le CAS de la FDS
Dim $CAS = "No.-CAS ", $text
$filename = 'FDS ACIDE NITRIQUE.txt'
$filename2 = 'recup.txt'
;-------------------------------------------
$file = FileOpen($filename, 0)
While 1
$line = FileReadLine($file) ;lit des ligne de txt dans un fichier = ouvre filename est lit un txt dedans
If @error = -1 Then ExitLoop
If StringInStr($line, $CAS) Then ;Recherche la position d'un txt dans un fichier. = recherche dans text2 le mot pseudo1
$text &= StringReplace($line, $CAS, "") & @CRLF ;text mtn égale à: remplace .....
EndIf
Wend
FileWrite($filename2, $text)
FileClose($filename)
;--------------------------------------------------- ;SUPPRIME LES DOUBLONS
Dim $aArray, $aNewArray
;---------------------------------------------------
_FileReadToArray($filename2, $aArray)
_ArrayDelete($aArray, 0)
$aNewArray = _ArrayUnique($aArray)
_FileWriteFromArray($filename2, $aNewArray, 1)
;--------------------------------------------------- ;SUPPRIMER LETTRES, marche pas ouf
$newtext = StringReplace(FileRead("recup.txt"), "No." & @crlf, "")
$file = FileOpen("recup.txt", 2)
FileWrite($file, $newtext)
FileClose($file)
Next
- walkson
- Modérateur
- Messages : 1020
- Enregistré le : ven. 12 août 2011 19:49
- Localisation : Hurepoix
- Status : Hors ligne
Re: Copier titres de document pour mettre dans excel
Faites un nouveau sujet car votre demande ne concerne plus Excel
Et merci de bien expliquer ce que vous voulez faire car ici "on devine" et aussi si votre code est fonctionnel (dans le cas présent, j'en doute ! avec
Et merci de bien expliquer ce que vous voulez faire car ici "on devine" et aussi si votre code est fonctionnel (dans le cas présent, j'en doute ! avec
For $i = 1 to $nbreFichier step 1
)Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)