recup de donnees dans d autres feuilles xls

A

arnaud

Guest
Bonjour,

J'ai un tas de fichiers (classeurs) excel dans un meme repertoire.
Je désire écrire des donnees précises de ces classeurs (champs spécifiques) dans un fichier excel de synthese (nouveau classeur).

Exemple :
la formule ci-dessus

='C:donnees[classeur1.xls]Feuil1'!$A$1

permet de lire le champ A1 de la feuille 'Feuil1' du 'classeur1' et de l'ecrire dans la cellule ou se trouve la formule de mon nouveau classeur.

Ma question est :

J'ai 300 fichiers (300 lignes !) identiques à traiter mais avec naturellement des noms de fichiers differents (classeur1, classeur2 ...) mais des noms de 'Feuil' identiques.

Les noms de mes 300 fichiers sont déja dans une colonne (utilisation de : RechercheClasseursSurDisque(), macro excel)

Comment puis je faire pour que le champs (en gras) de l'expression :
='C:donnees[classeur1.xls]Feuil1'!$A$1
appelle automatiquement la chaine de caracteres (nom du classeurX) qui se trouve dans une autre cellule ?
 

MichelXld

XLDnaute Barbatruc
bonsoir Arnaud

une proposition de solution par macro :
si par exemple le nom des classeurs est dans la colonne A , cet exemple créée la formule dans la colonne B

Code:
Sub boucleClasseurs()
Dim i As Integer

For i = 1 To 300
Cells(i, 2).Formula = '='C:\\donnees\\[' & Cells(i, 1) & ']Feuil1'!$A$1'
Next i

End Sub


bonne soiree
MichelXld
 
A

Arnaud

Guest
Merci semble être un mot tellement ordinaire de nos jours que je ne sais pas comment exprimer ma gratitude.

Cette macro marche à merveille !

Merci d'avoir pris le temps d'étudier mon PB et de l'avoir solutionné.

Bonne fin de WE.


Cordialement, Arnaud.
 
A

agfo

Guest
Bonjour le Forum,

Graçe à ce post, j'ai pu avancer mais je rencontre un nouveau blocage.
J'utilise la Macro de MichelXld ci dessous.

Sub boucleClasseurs()
Dim i As Integer

For i = 1 To 300
Cells(i, 2).Formula = '='C:\\donnees\\[' & Cells(i, 1) & ']Feuil1'!$A$1'
Next i

End Sub


Elle marche à merveille sauf que mes fichiers Excel liés ne sont pas tous dans le même dossier :( . Ils sont classés dans des sous répertoires par Mois. Est-il possible d'adapter la partie 'Formula=... afin que la macro aille chercher tous les fichiers Excels figurant dans les sous répertoires de C:\\Données\\ ?

Merci d'avance pour la précision.
Bonne soirée à tous
Guillaume
 
A

agfo

Guest
Récuperer donnees autres classeurs

Bonjour le Forum,

J'utilise la macro de MichelXld ci dessous afin de pourvoir récuperer des données dans une liste de fichiers excel. Mais je rencontre un os. Comment faire quand les fichiers sont dans plusieurs sous répertoires différents de c:'/données'/
En ce qui me concerne, mes fichers sont classées dans des sous dossiers mois par mois. Est-il possible que la macro aille automatiquement chercher les classeurs dans tous les sous répertoires de c:données sans avoir à les préciser à chaque fois.
Merci


MichelXld écrit:
bonsoir Arnaud

une proposition de solution par macro :
si par exemple le nom des classeurs est dans la colonne A , cet exemple créée la formule dans la colonne B

Code:
Sub boucleClasseurs()
Dim i As Integer

For i = 1 To 300
Cells(i, 2).Formula = '='C:\\donnees\\[' & Cells(i, 1) & ']Feuil1'!$A$1'
Next i

End Sub


bonne soiree
MichelXld
 

Discussions similaires

Statistiques des forums

Discussions
312 514
Messages
2 089 226
Membres
104 069
dernier inscrit
kit.survie