Un script qui lit des fichiers excel et en produit un autre

Résolu
B Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
B Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'ai 22 000 fichiers excels ayant la même structure (c-a-d les mêmes types d'informations se retrouve dans les mêmes adresses de cellules). Je voudrai extraire certaines informations de ces 22 000 fichiers et les écricre dans un nouveau fichier excel ou CSV. Et je veux faire ceci de manière automatique en utilisant VBSCRIPT.
Voici un algorithme en pseudo langage qui décrit ce que je veux faire. Quelqu'un peut-il l'écrire pour moi en vbscript? merci d'avance

Début algorithme

' Rep est le répertoire contenant mes 22 000 fichiers excel
variable Rep = "C:\MesFichiersExcel"

' Listing est le nouveau fichier excel ou csv à produire contenant
' sur chaque ligne les données extraites d'un fichier excel
variable Listing

Pour chaque Fichier dans Rep
- ouvrir le fichier dans l'application excel
- masquer l'application excel (la propriété Visible = Faux)
- aller à la feuille de calcul numéro 1
- copier les données des cellules A2, I20 et J20
- ajouter ces données sur une nouvelle ligne du fichier Listing
FinPour

Fin algorithme



A voir également:

5 réponses

michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour

un VBscript ? cela peut se faire en VBA et sans ouvrir tes 22000 classeurs

Tu dis...
0
B Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   3
 
comment je le fais alors en vba
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
????
0
B Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   3
 
michel, je te saurais gré pour une proposition de solution en vba
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
a placer dans un module du VBE (alt+F11, insertion module) et copier-coller cette macro en adaptant le nom du chemin

Option Explicit
Option Base 1

Sub recopier()
Dim T_out()
Dim Chemin As String, Fich As String, Nom As String
Dim Cptr As Integer

'Initialisations
Application.ScreenUpdating = False
Chemin = "D:\documents\excel\essai" ' A ADAPTER
ChDir Chemin
ReDim T_out(4, 1)

'collecte des valeurs dans les classeurs
Fich = Dir("*.xls")
While Fich <> ""
     Cptr = Cptr + 1
     ReDim Preserve T_out(4, Cptr)
     T_out(1, Cptr) = Fich
     T_out(2, Cptr) = ExecuteExcel4Macro("'" & Chemin & "\[" & Fich & "]Feuil1'!R2C2")
     T_out(3, Cptr) = ExecuteExcel4Macro("'" & Chemin & "\[" & Fich & "]Feuil1'!R20C9")
     T_out(4, Cptr) = ExecuteExcel4Macro("'" & Chemin & "\[" & Fich & "]Feuil1'!R20C10")
     Fich = Dir
Wend
Range("A2:D30000").Clear
Range("A2").Resize(Cptr, 4) = Application.Transpose(T_out) 

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
B Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   3
 
Bonjour Michel
Juste pour te dire merci pour ton code. il avait résolu mon problème.
Malheureusement je n'ai pas eu le temps de te dire merci à temps.
0