Importation de feuilles dans un classeur

  • Initiateur de la discussion Initiateur de la discussion slimmez
  • 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 !

slimmez

XLDnaute Nouveau
Bonjour

J'aimerais bien savoir comment importer des feuilles dans un fichier excel a partir d'autres fichiers excel ?

J'ai un fichier principale qui se trouve dans Le répertoire "C:\Centre" qui doit importer des feuilles d'autres fichiers qui se trouvent un repertoire "C:\Exploitants".

Le principe est que lorsque j'ouvre le fichier principale a chaque ouverture je dois le mettre à jour par en important la preimiére feuille de chaque fichier excel qui existe dans le répertoire "C:\exploitant"
Et si possible afficher le nom toutes les feuilles importées dans une liste dans la feuille1 du fichier principale.

Merci d'avance pour votre aide.
 
Re : Importation de feuilles dans un classeur

tu recopie le code ci deoous dans un module tu adaptes le code pour le chemin du fichier


Sub RequeteClasseurFermejt()
Dim Cn As ADODB.Connection
Dim Fichier As String
Dim NomFeuille As String, texte_SQL As String
Dim Rst As ADODB.Recordset
'Définit le classeur fermé servant de base de données
Fichier = "D:\CSVECT\essai1\jt.xls"
'Nom de la feuille dans le classeur fermé
NomFeuille = "sheet1"
Set Cn = New ADODB.Connection
'--- Connection ---
'Lire et écrire dans les classeurs Excel fermés par SilkyRoad (silkyroad.developpez.com)
'- 11 -
'http://silkyroad.developpez.com/VBA/ClasseursFermes/
'VBA
With Cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=" & Fichier & _
";Extended Properties=Excel 8.0;"
.Open
End With
'-----------------
'Définit la requête.
'/!\ Attention à ne pas oublier le symbole $ après le nom de la feuille.
texte_SQL = "SELECT * FROM [" & NomFeuille & "$]"
Set Rst = New ADODB.Recordset
Set Rst = Cn.Execute(texte_SQL)
'Ecrit le résultat de la requête dans la cellule A2
Range("A2").CopyFromRecordset Rst
'--- Fermeture connexion ---
Cn.Close
Set Cn = Nothing
End Sub

tu vas dans VBA
tu fais
outils

références
et tu coches
Microsoft ActiveX Data Objects 2.x library

Normalement cela passe

A+🙂
 
Re : Importation de feuilles dans un classeur

Je n'arrive a résoudre mon probléme ci joint :
le fichier pricincipale qui se trouve dans le répertoire "C:\centre" dans le quel je veux importer la premiére feuille des (fichier1;Fichier2,....) qui se trouvent
dans le répertoire "C:\exploitant"

Donc il me faut un traitement en boucle pour traiter tous les fichiers du répertoire "C:\exploitant" et importer toutes les premiéres feuilles de chaque fichiers et les mettre dans le fichier "C:\centre\principale.xls"

Enfin creer une liste comportant la liste des feuilles importées.
 

Pièces jointes

Re : Importation de feuilles dans un classeur

Voila je reviens

j'ai passéun 1/4 d'heure pour me rendre compte que ton fichier à importer s'appelait fcichier1 au lieu de fichier1
je te joins les deux fichiers a placer dans les répertoires respectifs

et surtout
Dans l'éditeur de macros:
Menu Outils.
Références.
Cochez la ligne "Microsoft ActiveX Data Objects x.x Library".
Cliquez sur le bouton OK pour valider.

x.x dépend de la version installée surton poste.

activer
la référence Microsoft ADO ext x.x for DLL and Security.

De plus si le sujet t'intéresse
Lire et écrire dans les classeurs Excel fermés - Club d'entraide des développeurs francophones

voila cela fonctionne normalement avec excel 2002 2003

A+🙂
 

Pièces jointes

- 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

Discussions similaires

  • Question Question
Microsoft 365 Personal.xlsb
Réponses
4
Affichages
583
Réponses
8
Affichages
363
Réponses
2
Affichages
227
Retour