Boucler sur classeur et les lire

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

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
 
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
 
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.
 
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
 
- 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

M
Réponses
3
Affichages
1 K
msauvegrain
M
L
Réponses
1
Affichages
1 K
Ludwig74
L
L
  • Question Question
Réponses
1
Affichages
1 K
lovell3
L
L
Réponses
7
Affichages
1 K
C
Réponses
1
Affichages
2 K
R
Réponses
15
Affichages
5 K
razorlight
R
Retour