Boucler sur classeur et les lire

Orodreth

XLDnaute Impliqué
Bonjour à tous.

J'attaque le dernier jour et demi de mon stage, et dans ce court laps de temps, je dois mettre en place une solution excel me permettant de synthétiser des données.

Ces données, je les ai dans des classeurs excel (1 par jour), et j'aimerais lire ces classeurs fermés.

J'ai trouvé pas mal de sources sur le web comme ici, mais j'ai un peu de mal à m'adapter.


une vraie mine d'or ce site, sous catégorie "Lire".

J'essaye d'utiliser la méthode Excel4macro dans un code comme ceci:

Code:
Public Sub ChercheXLS()
   Dim Retour As String
   Retour = Dir(leChemin & "2007\03\" & "*.xls")
   Do While Retour <> ""
       MsgBox Retour
       [COLOR="Red"]MsgBox ExecuteExcel4Macro("'" & leChemin & "2007\03\[" & Retour & "]" & "Synthese N & N-1" & "'!$A$1")[/COLOR]
       Retour = Dir
   Loop
End Sub

Tout marche, sauf la ligne en rouge.

J'explique rapidement ce code:
Retour = Dir(leChemin & "2007\03\" & "*.xls")
J'affecte à la variable Retour le nom d'un classeur

Do While Retour <> ""
On boucle tant que Retour est différent de rien

MsgBox Retour
On affiche le nom du classeur.

Bon, tout ça, ça marche.

Code:
[COLOR="Red"]MsgBox ExecuteExcel4Macro("'" & leChemin & "2007\03\[" & Retour & "]" & "Synthese N & N-1" & "'!$A$1")[/COLOR]
Mais là, erreur 1004.

Sinon, j'utiliserais la méthode de requêtage excel classeur fermé, et je récupèrerais toute ma feuille de données, sur laquelle je ferai mes traitements.
ça me dérange pas, mais si je peux apprendre à faire celle là avant, pourquoi pas ?

Est-ce que quelqu'un saurait et pourquoi ça ne marche pas ?

Merci d'avance,
Thomas
 

michel_m

XLDnaute Accro
Re : Boucler sur classeur et les lire

Bonjour Thomas,

Cette macroXL4 ne fonctionne que pour la lecture d'une seule cellule...

Tu as aussi le Wiki de MichelXLD page 6 sur les fichiers fermés pratiquement identique à la source que tu cites...
 

Orodreth

XLDnaute Impliqué
Re : Boucler sur classeur et les lire

Bonjour michel_m et merci pour ta réponse :)

La ligne ne fonctionne que pour une seule cellule oui, mais comme je connais les références des cellules d'origine, je peux boucler dessus et reproduire la ligne.

D'ailleurs, j'ai trouvé mon erreur:

Code:
MsgBox ExecuteExcel4Macro("'" & leChemin & "2007\03\[" & Retour & "]" & "Synthese N & N-1" & "'!$A$1")

A remplacer par:

Code:
MsgBox ExecuteExcel4Macro("'" & leChemin & "2007\03\[" & Retour & "]" & "Synthese N & N-1" & "'!R1C1")

Je me demande s'il ne vaut pas mieux que je fasse une requête, et que je me serve de cette méthode pour récupérer les infos manquantes ?
Dans tous les cas, je vais boucler dans tous les sens, donc ?

Si quelqu'un a un avis sur la question, je remercie par avance.

Thomas
 

michel_m

XLDnaute Accro
Re : Boucler sur classeur et les lire

Re,

Pour ma part j'opterai pour une requête mais tout dépend de l'architecture de tes feuilles et de ce que tu veux faire de ta synthèse.

dans le wiki XLD,Tu as une démo de Thierry MichelXLD et moi pour la collecte de N classeurs avec p feuilles et q cellules continues ou non; peut être cela pourra t'être utile.
 

Orodreth

XLDnaute Impliqué
Re : Boucler sur classeur et les lire

Re michel :)

En effet, ça peut m'intéresser, j'irai faire un saut tout à l'heure sur le wiki XLD pour voir ces fameux codes :)

Moi aussi, je penche plus pour la requête.
J'ai juste peur de perdre des données :(

Thomas
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 229
Messages
2 086 423
Membres
103 206
dernier inscrit
diambote