Macro excel récupération de données

laurent56380 Messages postés 21 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 27 janvier 2008 - 19 janv. 2008 à 17:48
laurent56380 Messages postés 21 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 27 janvier 2008 - 21 janv. 2008 à 03:12
Bonjour,
Voilà mon problème.
J'ai 3000 fichiers dans un répertoire.
Ces fichiers sont tous de format identiques.
Ils contiennent seulement des N° dans 9 cellules (1 Nombre à 3 chiffres par cellule) ( ex: cellule A1= 100, A2=101 A3 =205 etc juqu'a A9=905).
Puis sur une autre ligne plus bas, autre chose avec des N° différents.
Je voudrais récupérer les données de chaque fichier.
Puis les coller dans une feuille.
Chaque ligne A1:A9 de chaque feuille de mes 3000 fichiers dans une feuille1, puis chaque ligne  C1:C9 de chaque feuille de mes 300 fichiers dans une autre feuille etc ...
Pour me retrouver au final avec dans chaque feuille, 26000 lignes archivées.
L'idéal serait d'avoir une macro qui n'ouvre pas les 3000 fichiers puisque chacun fait 3M0.
Pour moi qui ne maitrise pas le VBA, c'est une montagne ce problème.
Si vous avez une solution cela m'aiderai énormément.Mais est ce possible?
Merci d'avance.
Laurent

23 réponses

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
21 janv. 2008 à 02:57
Est-ce que tous les fichiers du répertoire ont le même format avec 1 ou plusieurs chiffres et une parenthèse ouvrante ?

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
21 janv. 2008 à 03:08
Comme je suis à peu près certain qu'un ou plusieurs fichiers n'ont pas le même format, mets ceci
Do While Fich <> ""
'sépare le nom du fichier en 2 parties Tablo(0) et Tablo(1)
    If Instr(1, Fich, "(") > 0 then
        Tablo = Split(Fich, "(")
        'renomme le fichier
        Name Chemin & Fich As _
              Chemin & Format(Tablo(0), "0000") & "(" & Tablo(1)
        Listbox1.AddItem Chemin & Format(Tablo(0), "0000") & "(" & Tablo(1)
    Else
       strTemp = strTemp & Fich & vbcrlf
    End If
    Fich = Dir
Loop

et avant le End Sub
If strTemp <> "" Then
    MsgBox "Ces fichiers ne sont pas conformes" & vbcrlf & strTemp
End If

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
laurent56380 Messages postés 21 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 27 janvier 2008
21 janv. 2008 à 03:12
oui exactement
0
Rejoignez-nous