Recherche de données dans 1000+ fichiers
Résolu/Fermé
cletess
Messages postés
38
Date d'inscription
jeudi 10 janvier 2013
Statut
Membre
Dernière intervention
5 avril 2018
-
9 mars 2018 à 17:51
cletess Messages postés 38 Date d'inscription jeudi 10 janvier 2013 Statut Membre Dernière intervention 5 avril 2018 - 19 mars 2018 à 16:04
cletess Messages postés 38 Date d'inscription jeudi 10 janvier 2013 Statut Membre Dernière intervention 5 avril 2018 - 19 mars 2018 à 16:04
A voir également:
- Recherche de données dans 1000+ fichiers
- Recherche musique - Guide
- Wetransfer gratuit fichiers lourd - Guide
- Recherche par image - Guide
- Téléchargez cette archive (dossier compressé). en extraire tous les fichiers dans un dossier local. quel fichier contient l’expression trouverpix ? ✓ - Forum Windows
- Erreur 1000 france tv - Forum MacOS
1 réponse
yg_be
Messages postés
21303
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 mars 2023
1 326
9 mars 2018 à 20:08
9 mars 2018 à 20:08
bonsoir, je suis un peu déçu par les deux fichiers exemples.
dis-toi bien que nous avons tous intérêt à ce que tout soit le plus clair possible. toi pour obtenir ce dont tu as besoin, nous pour éviter du travail inutile.
peux-tu donc faire un effort de réalisme, par exemple avec les noms des fichiers en colonne A, et y ajouter un troisième fichier qui montre à quoi ressemblera le fichier récapitulatif à la fin du traitement?
peux-tu aussi décrire ton expérience en VBA? cherches-tu des pistes, ou un travail tout fait?
dis-toi bien que nous avons tous intérêt à ce que tout soit le plus clair possible. toi pour obtenir ce dont tu as besoin, nous pour éviter du travail inutile.
peux-tu donc faire un effort de réalisme, par exemple avec les noms des fichiers en colonne A, et y ajouter un troisième fichier qui montre à quoi ressemblera le fichier récapitulatif à la fin du traitement?
peux-tu aussi décrire ton expérience en VBA? cherches-tu des pistes, ou un travail tout fait?
9 mars 2018 à 22:32
Tout d'abord, les noms de fichiers. Je dois les exporter manuellement d'un programme particulier et chacun d'eux fait référence à un individu qui s'est vu attribuer une valeur allant de 1 à 998. Ils sont donc nommés 1.xlsx, 2.xlsx, etc.
Ensuite, dans l'exemple2.xlsx, j'ai en colonne B près de 200 variables différentes, ordonnées de façon différente mais toujours unique. Et je cherche la valeur de la colonne C associée à 3 de ces variables bien précises. Pour l'exemple ici, VARIABLE_X, VARIABLE_Y et VARIABLE_Z.
Je ne peux malheureusement pas fournir un fichier réel. J'ai donc produit un exemple un peu plus proche de la réalité, j'espère que ce sera plus 'parlant'.
https://fromsmash.com/exemple-Macro
Pour ce qui est de mon expérience en VBA, j'y ai déjà un peu chipoté il y a quelques temps et je comprends pas mal de choses. Je ne sais pas créer du code à partir de rien mais suis tout à fait capable d'adapter différentes macros ou en combiner pour arriver à mes fins.
Encore merci et très bonne soirée,
CL
9 mars 2018 à 23:54
suggestion:
Option Explicit Sub cletess() Dim wb As Workbook Dim fdest As Worksheet, fsource As Worksheet Dim dlig As Long Dim sfich As String Dim srow As Range Dim crit1 As String, crit2 As String, crit3 As String Dim skey, sval, cpath As String cpath = ThisWorkbook.Path & "\" Set fdest = ActiveSheet crit1 = fdest.Cells(1, 2) crit2 = fdest.Cells(1, 3) crit3 = fdest.Cells(1, 4) dlig = 2 sfich = fdest.Cells(dlig, 1) Do While sfich <> "" Set wb = Workbooks.Open(cpath & sfich & ".xlsx") Set fsource = wb.Sheets(1) For Each srow In fsource.UsedRange.Rows skey = srow.Cells(1, 2) sval = srow.Cells(1, 3) Select Case skey Case Is = crit1 fdest.Cells(dlig, 2) = sval Case Is = crit2 fdest.Cells(dlig, 3) = sval Case Is = crit3 fdest.Cells(dlig, 4) = sval End Select Next srow wb.Close dlig = dlig + 1 sfich = fdest.Cells(dlig, 1) Loop End Sub19 mars 2018 à 10:05
En rajoutant quelques crit* j'ai pu extraire toutes les données dont j'avais besoin en un rien de temps :)
Très bonne journée et encore merci !!
19 mars 2018 à 10:33
19 mars 2018 à 10:35
Select Case skey
Case Is = crit1
fdest.Cells(dlig, 2) = sval