Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
ton affaire me paraît compliquée à résoudre à distance aussi je t'invite a aller consulter la page: Ce lien n'existe plus
qui t'apportera quelques éléments de réflexion et tu pourras voir quelles sont les contraintes ADO en matière d'importation de données Excel.
Vois comment tu peux adapter tes fichiers à ces contraintes, fait des tests et si tu as un problème concret et précis, reviens ici.
Bonjour Hasco et merci du lien (très utile et interessant pour comprendre le code),
J’ai enfin réussi à faire fonctionner le code mais il y a encore quelque chose qui me bloque. En effet, dans le code on spécifie le nom de l’onglet qui va nous servir de base de données, dans l’exemple il s’agit de « esssai ».
Pour rappel, le fichier synthèse doit récupérer des données d’un nombre important de fichier du même type que le fichieradupliquer (dans l’exemple).
Le problème est donc que le nom d’onglet de la base de données change en fonction des fichiers, par exemple :
Dans le fichieradupliquer : le nom de l’onglet qui comprend les données est « esssai »
Dans le fichieradupliquer2 : le nom de l’onglet qui comprend les données est « 100000 »
Dans le fichieradupliquer3 : le nom de l’onglet qui comprend les données est « 999999 »
Mais (comme une bonne nouvelle n’arrive pas seule..), dans ces fichiers il n’y a pas qu’un seul onglet mais 2 (un nom qui change systématiquement à chaque fichier (celui que je veux récupérer) et un autre qui est figé : « LISTE »).
J’aimerais donc être capable de récupérer le nom qui varie. Je pensais mettre un code du style, si ce n’est pas « LISTE » alors on récupère le nom mais vu qu’on n’ouvre pas les fichiers je ne sais pas comment faire.
Pour information :
On peut spécifier une plage de données en disant que les titres commencent à telle ou telle ligne en utilisant le code suivant (Dans mon cas la plage s’étend de A3:C100):
Tu trouveras dans le zip ci-joint un module (mdl_ADO) à insérer dans ton fichier (Dans vbe Fichier/Importer un fichier).
Il ne fonctionnera sûrment pas tel quel chez toi mais j'y ai mis suffisament de commentaire pour que tu puisses l'adapter à tes besoins. C'est un exemple de technique possible, à toi de l'adapter.
Ce module parcourt tous les fichiers.xls du répertoire dans lequel le classeur se trouve (ça peut être changé).
Il examine à l'aide d'ADOX (voir la réf ADOX en commentaire en tête de module) les colonnes de toutes les feuilles de chaque classeur à la recherche de celles qui correspondent à l'instruction SQL.
Pour chaque feuille contenant les bonnes colonnes il lance l'instruction SQL et retourne les lignes trouvées. Si le nombre de lignes retournées dépasse la capacité d'une feuille, il en rajoute une.
Pendant toute ces opérations il ecrit les erreurs rencontrées dans un fichiers log.
Bonjour
je viens de lire vos échanges ci-dessus ... Mon problème est semble du même type
Je réalise des statistiques annuelles. Dans un répertoire j'ai 12 fichiers (2008_01.xls à 2008_12.xls) qui contiennent les données mensuelles + 1 fichier de synthèse annuelle dans les cellules réception contiennent une formule (='E:\Asso\Stats\2008\[2008_01.xls]
Les même stats se répètent chaque année et je dois à chaque année réécrire les formules ... Comment éviter cette lourde tâche en automatisant la recherche en saisissant dans une cellule l'année de synthèse (ex: 2008) ... d'avance merci de votre aide Michel
Je te suggère d'ouvrir un nouveau fil. en effet ton problème ne semble pas identique à celui-discuté ici, dans lequel il n'y as aucune formule à recréer.
Ce site utilise des cookies pour personnaliser le contenu, adapter votre expérience et vous garder connecté si vous vous enregistrez.
En continuant à utiliser ce site, vous consentez à notre utilisation de cookies.