XL 2013 récuperation de données en multifichier.....

fino2016

XLDnaute Nouveau
Bonjour,
j'utilise Excel depuis quelques années de manière très basique.
j'expose mon problème:
j'ai une multitudes de fichiers ( exactement 816.....en 2 mois......)
dans chaque fichier de 1 à 198000 lignes pour le plus grand.
et pour chaque fichier de 6 à 325 colonnes.....
sur chaque ligne de chaque fichier il y a une information commune. (un code EAN) à une position qui n'est pas fixe ( les fichiers viennent de plusieurs interlocuteurs différents et extracté de plusieurs manières différentes)
mon souhait:
A partir d'une feuille Excel vide:
quand je tape un code Ean:
il va chercher 1 ou X lignes contenant cette information et les mets sur cette feuille.
question du jour:
c'est possible??
Merci d'avance de vos idées ou le meilleur serait une solution......
 

CPk

XLDnaute Impliqué
Re : récuperation de données en multifichier.....

Bonjour, c'est probablement possible, il faut présenter aux helpeurs le fichier de destination (avec un exemple du resultat escompté) et deux ou trois fichier (ceux dans lequel il faut allé chercher les informations) pour qu'on puisse correctement écrire le code.

Cordialement
 

fino2016

XLDnaute Nouveau
Re : récuperation de données en multifichier.....

Re bonjour,
je joins 3 fichiers Excel pour exemple:
Dans chaque fichier, j'ai laissé une cellule en couleur (c'est ma cible par exemple)

dans le résultat:
si je tape ce code dans une feuille cible, Excel prend l'ensemble de la ligne et le met sur un feuille vierge ou un fichier préparer pour ca (type "recherche")
merci encore de vos réponses
Cordialement
 

Pièces jointes

  • giv 2016.xlsx
    29.3 KB · Affichages: 32
  • sof 1.xlsx
    33.2 KB · Affichages: 46
  • lec 2015.xls
    181 KB · Affichages: 16

CPk

XLDnaute Impliqué
Re : récuperation de données en multifichier.....

Bon alors voici une macro qui n'est pas générique et qu'il faudra peut-être fignoler.
Vous placez tous vos fichiers dans le même repertoire, y compris celui qui va accueillir le résultat.
Dans le classeur qui va receptionné le résultat, en feuil1 cellule A1 vous tapez votre code et vous lancez la macro.
C'est un premier jet, faite moi remonter les bugs

Code:
Sub recherche()
    Dim wb As Workbook, chemin$, fichier$, quoi
    quoi = Feuil1.Cells(1, 1)
    chemin = ThisWorkbook.Path & "\"
    fichier = Dir(chemin & "*.xls*")
    While Len(fichier) > 0
        If Not fichier = ThisWorkbook.Name Then
            Set wb = Workbooks.Open(chemin & fichier)
            Set trouve = wb.Sheets(1).Cells.Find(quoi, lookat:=xlWhole)

            If Not trouve Is Nothing Then
                If wb.Sheets(1).Cells(1, trouve.Column) = "EAN" Then
                    wb.Sheets(1).Rows(trouve.Row).EntireRow.Copy ThisWorkbook.Sheets(1).Cells(Rows.Count, 1).End(3)(2)
                End If
            End If
            wb.Close

        End If
        fichier = Dir()
    Wend
    
    Set wb = Nothing
    Set trouve = Nothing
End Sub
 

Discussions similaires

Réponses
9
Affichages
252
Réponses
6
Affichages
355

Statistiques des forums

Discussions
314 208
Messages
2 107 290
Membres
109 796
dernier inscrit
aelgar