Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Forum Excel


Réponse
 
LinkBack Outils de la discussion
Vieux 26/03/2008, 17h52   #1 (permalink)
XLDnaute Occasionel
 
Date d'inscription: mars 2005
Localisation: Noyer En Ouche
Version Excel : Excel 2000 (PC)
Messages: 182
Exclamation Importation de données a partir de fichiers fermés

Bonjour le Forum,

Je me suis perdu dans les méandres de l'importation de données à partir d'une série de fichiers fermés et pourtant il y a beaucoup à lire sur ce sujet....mais trop fort car je n'arrive pas à boucler sur l'ensemble des fichiers du répertoire.

Voila, je possède dans un répertoire une série d'environ 200 fichiers (Idéalement il faudrait pouvoir les compter avant de commencer). Partons de l'hypothèse qu'il n'y aura jamais plus de 255 fichiers à lire !!

La structure de ces fichiers est toujours la même : le nom du fichier est toujours "Fichierxxx" avec xxx représentant l'indice de 1 à 200 (si 200 est le nombre de fichiers comptés précedemment), le fichier contient au moins un onglet mais un seul nommé "spectre" et dans cet onglet "spectre" quatre colonnes avec un nombre de lignes variable.

Je souhaite dans un feuille vide d'un fichier, copier les valeurs de la colonne B (et uniquemnt celle ci) du fichier "Fichierxxx" dans l'onglet "spectre" et les coller dans la première colonne vide du fichier actif puis boucler cette action sur l'ensemble des fichiers de type "Fichierxxx" du répertoire avec une incrémentation.

J'espère avoir été clair. Merci d'avance pour votre aide.
Risleure est déconnecté   Réponse avec citation
ANNONCES
Vieux 26/03/2008, 19h21   #2 (permalink)
XLDnaute Impliqué
 
Avatar de RENAUDER
 
Date d'inscription: septembre 2007
Localisation: EVREUX
Version Excel : Excel 2003 (PC)
Messages: 779
Par défaut Re : Importation de données a partir de fichiers fermés

Bonjour,
A cet endroit tu devrais trouver ton bonheur
Erlandsen Data Consulting
__________________
Salutations
Eric
Site XL : http://ericrenaud.fr


Vous êtes passionés d'Excel, vous appréciez ce forum pour les services qu'il vous rend alors n'hésitez pas à l'aider ...
Oui je veux aider Excel Downloads alors je clique sur le lien ...
http://www.excel-downloads.com/forum...orter-xld.html


Soutenez l'association Naevi
RENAUDER est connecté maintenant   Réponse avec citation
Vieux 26/03/2008, 20h14   #3 (permalink)
XLDnaute Occasionel
 
Date d'inscription: mars 2005
Localisation: Noyer En Ouche
Version Excel : Excel 2000 (PC)
Messages: 182
Unhappy Re : Importation de données a partir de fichiers fermés

Merci RENAUDER

Mais je n'y ai pas trouvé mieux que sur un lien francophone Formation Excel VBA JB

A suivre
Risleure est déconnecté   Réponse avec citation
Vieux 27/03/2008, 11h27   #4 (permalink)
XLDnaute Barbatruc
 
Avatar de ChTi160
 
Date d'inscription: février 2005
Localisation: Savigny le Temple 77176
Version Excel : Excel 2007 (PC)
Messages: 3 112
Envoyer un message via MSN à ChTi160
Par défaut Re : Importation de données a partir de fichiers fermés

Salut Risleure
Bonjour Eric
Bonjour le Forum

arff je n'ai pas le temps maintenant,mais questions
le fichier ou tu veux placer les données récupérées se trouve til dans le même répertoire que les fichiers Sources(Fichierxxx) "connaitre le nombre de ces fichiers à l'avance n'est pas utile"

si non as tu le chemin d'accès de ce répertoire ?
je suis le fil ,mais pas le temps pour aujourd'hui Lol

y'aura surement quelqu'un pour t'aider d'ici demain Lol

Bonne journée
__________________
Amicalement Jean Marie

ChTi160 est déconnecté   Réponse avec citation
Vieux 27/03/2008, 11h43   #5 (permalink)
XLDnaute Occasionel
 
Date d'inscription: mars 2005
Localisation: Noyer En Ouche
Version Excel : Excel 2000 (PC)
Messages: 182
Thumbs up Re : Importation de données a partir de fichiers fermés

Citation:
Envoyé par ChTi160 Voir le message
...
le fichier ou tu veux placer les données récupérées se trouve til dans le même répertoire que les fichiers Sources(Fichierxxx) "connaitre le nombre de ces fichiers à l'avance n'est pas utile"

si non as tu le chemin d'accès de ce répertoire ?
...
Salut Chti160, le Forum

Le fichier peut être dans le même répertoire ou bien je peux récupèrer le chemin.
Mais faisons simple disons qu'il est dans le même répertoire....et si j'ai pas besoin de compter alors j'attends ta soluce.

@+
Risleure est déconnecté   Réponse avec citation
Vieux 27/03/2008, 11h50   #6 (permalink)
XLDnaute Occasionel
 
Avatar de ftho
 
Date d'inscription: janvier 2008
Localisation: Bxl
Version Excel : Excel 2003 (PC)
Messages: 210
Par défaut Re : Importation de données a partir de fichiers fermés

Bonjour tlm,

Peut-être que les deux liens ci-dessous te mettront sur la piste, le premier te permettra de voir comment boucler sur tous les fichiers d'un répertoire et le second comment extraire des données d'un fichier fermé.
Bonne lecture

FAQ MS-Excel - Club d'entraide des développeurs francophones

Lire et écrire dans les classeurs Excel fermés - Club d'entraide des développeurs francophones
ftho est déconnecté   Réponse avec citation
Vieux 27/03/2008, 11h52   #7 (permalink)
XLDnaute Accro
 
Date d'inscription: septembre 2007
Messages: 1 508
Par défaut Re : Importation de données a partir de fichiers fermés

Bonjour,

Code:
Sub LitClasseurFermé()
  Chemin = ThisWorkbook.Path
  Fichier = Dir(Chemin & "\" & "fichierxxx*")
  Do While Fichier <> ""
    [IV1].End(xlToLeft).Select
    If ActiveCell <> "" Then ActiveCell.Offset(0, 1).Select
    ChampOuCopier = ActiveCell.Resize(100, 1).Address ' "A1:A100"
    onglet = "Screptre"
    ChampAlire = "B1:B100"
    LitChamp ChampOuCopier, Chemin, Fichier, onglet, ChampAlire
    Fichier = Dir
  Loop
End Sub

Sub LitChamp(ChampOuCopier, Chemin, Fichier, onglet, ChampAlire)
   Range(ChampOuCopier).FormulaArray = "='" & Chemin & "\[" & Fichier & "]" & onglet & "'!" & ChampAlire
   Range(ChampOuCopier) = Range(ChampOuCopier).Value
End Sub
JB
Formation Excel VBA JB

Dernière modification par BOISGONTIER ; 27/03/2008 à 11h56.
BOISGONTIER est déconnecté   Réponse avec citation
Vieux 27/03/2008, 12h58   #8 (permalink)
XLDnaute Occasionel
 
Date d'inscription: mars 2005
Localisation: Noyer En Ouche
Version Excel : Excel 2000 (PC)
Messages: 182
Thumbs up Re : Importation de données a partir de fichiers fermés

Merci JB, FTHO

JB : c'est un très bon début et après qqs ajustements, j'ai un début d'importation satisfaisant. Il me reste que la taille du champ à lire ou à copier est variable (> 300 ligbnes) et si je mets 1000, je me retrouve avec plein de 0. il faut que j'arrive à le connaitre avant de commencer l'import.

Les liens de FTHO vont peut être me permettre de peaufiner.

Merci
Risleure est déconnecté   Réponse avec citation
Vieux 27/03/2008, 13h04   #9 (permalink)
XLDnaute Occasionel
 
Date d'inscription: mars 2005
Localisation: Noyer En Ouche
Version Excel : Excel 2000 (PC)
Messages: 182
Par défaut Re : Importation de données a partir de fichiers fermés

Salut JB

Question subsidiaire : c'est quoi ce [IV1] dans le code?

Merci

Code:
...
  Do While Fichier <> ""
    [IV1].End(xlToLeft).Select
...
  Loop
Risleure est déconnecté   Réponse avec citation
Vieux 27/03/2008, 13h05   #10 (permalink)
XLDnaute Accro
 
Date d'inscription: février 2005
Localisation: Aubenas
Version Excel : Excel 2000 (PC)
Messages: 1 128
Par défaut Re : Importation de données a partir de fichiers fermés

Bonjour,

Et à quoi a servi la réouverture des Wiki dans la FAQ ?

Voir wikimichelXLDpage6

Ce problème a été traité: récupération de de cellules groupées ou non dans des onglets dans N fichiers fermés dans un répertoire
Travail fait par collaboration de forumeurs (salut @}Thierry, Michel_XLD !)
__________________
A+
Michel_M
michel_m est déconnecté   Réponse avec citation
Vieux 27/03/2008, 17h28   #11 (permalink)
XLDnaute Accro
 
Date d'inscription: septembre 2007
Messages: 1 508
Par défaut Re : Importation de données a partir de fichiers fermés

[IV1].End(xlToLeft).Select pour se positionner sur le derniere colonne


Code:
Sub LitClasseurFermé()
  Application.ScreenUpdating = False
  Chemin = ThisWorkbook.Path
  Fichier = Dir(Chemin & "\" & "fichierxxx*")
  Do While Fichier <> ""
    [IV1].End(xlToLeft).Select
    If ActiveCell <> "" Then ActiveCell.Offset(0, 1).Select
    ChampOuCopier = ActiveCell.Resize(100, 1).Address ' "A1:A100"
    onglet = "Screptre"
    ChampAlire = "B1:B100"
    LitChamp ChampOuCopier, Chemin, Fichier, onglet, ChampAlire
    For Each c In Range(ChampOuCopier)
      If c.Value = 0 Then c.Value = Empty
    Next c
    Fichier = Dir
  Loop
End Sub
JB
BOISGONTIER est déconnecté   Réponse avec citation
Vieux 27/03/2008, 17h51   #12 (permalink)
XLDnaute Occasionel
 
Date d'inscription: mars 2005
Localisation: Noyer En Ouche
Version Excel : Excel 2000 (PC)
Messages: 182
Thumbs up Re : Importation de données a partir de fichiers fermés

[quote=BOISGONTIER;523182][IV1].End(xlToLeft).Select pour se positionner sur le derniere colonne

Merci, j'avais fini par trouver .... grace aux encouragements amiacux de michel_m, en fait je connaissais l'astuce de recherche de la dernière ligne en partant du bas de la feuille et je n'avais pas fait le rapprochement que IV était la dernière colonne de la feuille.

Bon j'ai un autre gros soucis car les noms de fichiers sont "Fichierx" pour les fichiers de 1 à 9, "Fichier xx" pour les fichiers de 10 à 99 et "Fichierxxx" au dela. je ne sais pas trier horizontalement car j'ai modifié ton code en important sur la 1ere ligne le nom du fichier . la recherche sur le Forum est infructueuse.
Je ne peux tarnsposer pour trier verticalement car j'ai plus de 300 valeurs qui se retrouveraient sur seulement 256 colonnes.

Merci
Risleure est déconnecté   Réponse avec citation
Vieux 27/03/2008, 17h55   #13 (permalink)
XLDnaute Accro
 
Date d'inscription: septembre 2007
Messages: 1 508
Par défaut Re : Importation de données a partir de fichiers fermés

On lit le nombre de lignes de la colonne B en IV1 avec:

[IV1].FormulaLocal = "=NBVAL('" & Chemin & "\[" & Fichier & "]Screptre'!$B:$B)"


Code:
Sub LitClasseurFermé()
  Application.ScreenUpdating = False
  Chemin = ThisWorkbook.Path
  Fichier = Dir(Chemin & "\" & "fichierxxx*")
  Do While Fichier <> ""
    [IV1].FormulaLocal = "=NBVAL('" & Chemin & "\[" & Fichier & "]Screptre'!$B:$B)"
    [IU1].End(xlToLeft).Select
    If ActiveCell <> "" Then ActiveCell.Offset(0, 1).Select
    ChampOuCopier = ActiveCell.Resize([IV1], 1).Address ' "A1:A100"
    onglet = "Screptre"
    ChampAlire = "B1:B" & [IV1]
    LitChamp ChampOuCopier, Chemin, Fichier, onglet, ChampAlire
    Fichier = Dir
  Loop
End Sub
Sub LitChamp(ChampOuCopier, Chemin, Fichier, onglet, ChampAlire)
   Range(ChampOuCopier).FormulaArray = "='" & Chemin & "\[" & Fichier & "]" & onglet & "'!" & ChampAlire
   Range(ChampOuCopier) = Range(ChampOuCopier).Value
End Sub
JB
BOISGONTIER est déconnecté   Réponse avec citation
ANNONCES
Réponse

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui

Discussions similaires
Discussion Auteur Forum Réponses Dernier message
Mise à jour automatique TCD dans fichiers fermés barbara Forum Excel 5 08/05/2006 22h25
Données dans fichiers fermés marco57 Forum Excel 0 19/08/2005 19h13
aide pour copier plage de cellules de fichiers fermés gilles21 Forum Excel Downloads - Archives 5 16/02/2005 23h27
[XL to Access] Base de données Gestion Importation Fichiers Longueur Fixe jon Forum Excel Downloads - Archives 0 30/03/2004 17h07
operation sur fichiers fermés franck Forum Excel Downloads - Archives 0 07/02/2004 18h32


Fuseau horaire GMT +2. Il est actuellement 15h22.


(C) 2006 Excel Downloads