Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Importation de feuilles dans un classeur

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.
 

Sylvain59

XLDnaute Occasionnel
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+
 

slimmez

XLDnaute Nouveau
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

  • Fcichier1.xls
    34.5 KB · Affichages: 38
  • Fcichier2.xls
    34.5 KB · Affichages: 43
  • principale.xls
    18.5 KB · Affichages: 36

Sylvain59

XLDnaute Occasionnel
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

  • Fichier1.zip
    12.7 KB · Affichages: 41
  • principale.zip
    11.6 KB · Affichages: 41
  • Fichier1.zip
    12.7 KB · Affichages: 50
  • Fichier1.zip
    12.7 KB · Affichages: 40

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…