recup de donnees dans d autres feuilles xls

  • Initiateur de la discussion Initiateur de la discussion arnaud
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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 ?
 
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
 
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.
 
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour