Lire des fichiers mensuels fermés
Fermé
d1michel
Messages postés
3
Date d'inscription
vendredi 5 septembre 2008
Statut
Membre
Dernière intervention
13 novembre 2008
-
13 nov. 2008 à 18:39
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 20 nov. 2008 à 13:38
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 20 nov. 2008 à 13:38
A voir également:
- Lire des fichiers mensuels fermés
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Lire fichier epub - Guide
- Lire fichier bin - Guide
- Lire fichier iso - Guide
- Wetransfer gratuit fichiers lourd - Guide
5 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
13 nov. 2008 à 18:57
13 nov. 2008 à 18:57
Bonjour,
C'est possible sans trop de pb avec du VBA et ADO
On aura besoin que de la cellule A2 puisque tous les fichiers sont dans le m^me dossier
en attendant, regarde si cette appli pourrait te convenir (il faudrait alors que le fichier recap ne soit pas dans le m^me répertoire):
https://www.cjoint.com/?lns0ThJqYs
il y a peut-être des références à adapter à XL2000 dans outils-référence de l'éditeur VBE...
Bonne soirée
Edit: quel est le nom de l'onglet dans les fichiers mensuels ?
C'est possible sans trop de pb avec du VBA et ADO
On aura besoin que de la cellule A2 puisque tous les fichiers sont dans le m^me dossier
en attendant, regarde si cette appli pourrait te convenir (il faudrait alors que le fichier recap ne soit pas dans le m^me répertoire):
https://www.cjoint.com/?lns0ThJqYs
il y a peut-être des références à adapter à XL2000 dans outils-référence de l'éditeur VBE...
Bonne soirée
Edit: quel est le nom de l'onglet dans les fichiers mensuels ?
m@rina
Messages postés
21078
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
13 novembre 2024
11 350
13 nov. 2008 à 23:11
13 nov. 2008 à 23:11
Bonjour,
Je ferais juste une remarque par rapport à ADO : grosse méfiance !!!
Je constate, michel, que tu as donné une solution très élaborée, créée par d'illustres excelliens (;)))... mais je voulais juste donné mon sentiment par rapport à ADO car j'ai trop galéré avec ça et je suis revenue à une solution VBA de base. L'intérêt d'ADO c'est qu'il n'a pas besoin d'ouvrir les fichiers, mais on n'a pas que de bonnes surprises... Déjà, on perd tout le formatage. Mais, et surtout, il faut vraiment que tout soit rempli et homogène.
Mais bon, à tester néanmoins...
m@rina
Je ferais juste une remarque par rapport à ADO : grosse méfiance !!!
Je constate, michel, que tu as donné une solution très élaborée, créée par d'illustres excelliens (;)))... mais je voulais juste donné mon sentiment par rapport à ADO car j'ai trop galéré avec ça et je suis revenue à une solution VBA de base. L'intérêt d'ADO c'est qu'il n'a pas besoin d'ouvrir les fichiers, mais on n'a pas que de bonnes surprises... Déjà, on perd tout le formatage. Mais, et surtout, il faut vraiment que tout soit rempli et homogène.
Mais bon, à tester néanmoins...
m@rina
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
13 nov. 2008 à 23:40
13 nov. 2008 à 23:40
Bonjour,
Merci de m'incorporer dans les illustres Excelliens (je plaisante)!!! mais c'est vrai que @+Thierry et MichelXLD ( tu connais l'autre pseudo) maintenant MVP comme toi sont très agréables à travailler et avec eux l'aspect communauté des forums prend tout son sens: une fois c'est Thierry, une autre fois Michel ou moi qui avions fait avancer le schmilblic...sur cette appli ou d'autres
A mon avis, ADO, ADOX demande beaucoup de rigueur et d"analyse en amont du problème car on passe en gestion de base de données avec ses règles d'intitulé & d'unité (homogenéité comme tu le dis) de champ, de jointure,avec en sus le langage SQL particulièrement ch... notamment avec les dates.
Les difficultés viennent avec des solutions Excel ou Word où souvent on part tête baissée car il est relativement facile de rectifier une erreur de conception...
Je parles d'expérience car les erreurs de conception je sais bien faire!...
Maintenant pour extraire des données importantes rapidement de centaines de fichiers XL ou 40000 lignes sur une bases access d'environ 200000 lignes avec double jointure cela va va assez vite (<=1s et on est en Vba donc lent !!) et de plus,on rend la main pour d'autres utilisateurs dès l'extraction terminée...
Merci pour tes remarques, le débat est intéressant
Merci de m'incorporer dans les illustres Excelliens (je plaisante)!!! mais c'est vrai que @+Thierry et MichelXLD ( tu connais l'autre pseudo) maintenant MVP comme toi sont très agréables à travailler et avec eux l'aspect communauté des forums prend tout son sens: une fois c'est Thierry, une autre fois Michel ou moi qui avions fait avancer le schmilblic...sur cette appli ou d'autres
A mon avis, ADO, ADOX demande beaucoup de rigueur et d"analyse en amont du problème car on passe en gestion de base de données avec ses règles d'intitulé & d'unité (homogenéité comme tu le dis) de champ, de jointure,avec en sus le langage SQL particulièrement ch... notamment avec les dates.
Les difficultés viennent avec des solutions Excel ou Word où souvent on part tête baissée car il est relativement facile de rectifier une erreur de conception...
Je parles d'expérience car les erreurs de conception je sais bien faire!...
Maintenant pour extraire des données importantes rapidement de centaines de fichiers XL ou 40000 lignes sur une bases access d'environ 200000 lignes avec double jointure cela va va assez vite (<=1s et on est en Vba donc lent !!) et de plus,on rend la main pour d'autres utilisateurs dès l'extraction terminée...
Merci pour tes remarques, le débat est intéressant
m@rina
Messages postés
21078
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
13 novembre 2024
11 350
15 nov. 2008 à 10:37
15 nov. 2008 à 10:37
Bonjour Michel,
Oui, c'est vrai que ADO demande beaucoup de rigueur en amont, et c'est ce qu'il n'est pas toujours possible d'obtenir, évidemment en fonction du cas de chacun.
Personnellement, j'avais écrit une application qui justement devait récupérer plusieurs fois par semaines les données d'une dizaine de fichiers, tous faits pareils, sur la même structure, avec un remplissage via un formulaire très élaboré (construit aussi par moi-même, c'est te dire !!!;))), et remplis par différents utilisateurs.
Le problème était que toutes les cellules n'avaient pas un remplissage obligatoire, et que la récupération avec ADO donnait des choses vraiment aléatoires, en fonction du taux de remplissage des colonnes !!!
J'ai tellement galéré, comme je le disais, que j'ai fini par revenir à une solution basiquement VBA qui ouvre, copie-colle et ferme. Cela étant dit, avec un screenupdating false, c'était transparent.
Bien évidemment, ce n'est qu'un exemple, et comme tu le dis, pour récupérer des milliers de données de centaines de fichiers, c'est sans doute ce qui se fait de mieux !!
Bon week end ;)
m@rina
Oui, c'est vrai que ADO demande beaucoup de rigueur en amont, et c'est ce qu'il n'est pas toujours possible d'obtenir, évidemment en fonction du cas de chacun.
Personnellement, j'avais écrit une application qui justement devait récupérer plusieurs fois par semaines les données d'une dizaine de fichiers, tous faits pareils, sur la même structure, avec un remplissage via un formulaire très élaboré (construit aussi par moi-même, c'est te dire !!!;))), et remplis par différents utilisateurs.
Le problème était que toutes les cellules n'avaient pas un remplissage obligatoire, et que la récupération avec ADO donnait des choses vraiment aléatoires, en fonction du taux de remplissage des colonnes !!!
J'ai tellement galéré, comme je le disais, que j'ai fini par revenir à une solution basiquement VBA qui ouvre, copie-colle et ferme. Cela étant dit, avec un screenupdating false, c'était transparent.
Bien évidemment, ce n'est qu'un exemple, et comme tu le dis, pour récupérer des milliers de données de centaines de fichiers, c'est sans doute ce qui se fait de mieux !!
Bon week end ;)
m@rina
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
15 nov. 2008 à 11:08
15 nov. 2008 à 11:08
Bonjour Marina,
Ci dessous une astuce non ADO pour lire une cellule dans un fichier fermé avec la macro dite de Walkenbach (tirée de mon grenier, les données "classeur" et "onglet" venant d'un userform) valable si peu de données à transfèrer du "fermé" à "recap"
Ci dessous une astuce non ADO pour lire une cellule dans un fichier fermé avec la macro dite de Walkenbach (tirée de mon grenier, les données "classeur" et "onglet" venant d'un userform) valable si peu de données à transfèrer du "fermé" à "recap"
onglet = Me.CbxFeuille.Value zone = "A1:C30000" If onglet = "" Then: Exit Sub '-------on recherche le nom de champ inscrit dans la cellule A1 de chaque feuille ' modèle pour écrire param='C:\mes documents\riri\[Classeur1.xls]Classeur1Feuil3'!L1C1 param = "'" & chemin & "\[" & Me.CbxClasseur.Value & "]" & onglet & "'!R1C1" ' macro dite de John Walkenbach champ = ExecuteExcel4Macro(param)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
m@rina
Messages postés
21078
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
13 novembre 2024
11 350
15 nov. 2008 à 11:15
15 nov. 2008 à 11:15
Hello Michel,
Merci pour cette macro. Le pire, c'est qu'on doit avoir le même bouquin de John Walkenbach (un gros bouquin jaune, c'est ça ? :D)))
Je la mets de côté, car j'en aurai sans doute besoin un de ces jours...
m@rina
Merci pour cette macro. Le pire, c'est qu'on doit avoir le même bouquin de John Walkenbach (un gros bouquin jaune, c'est ça ? :D)))
Je la mets de côté, car j'en aurai sans doute besoin un de ces jours...
m@rina
13 nov. 2008 à 22:42
jer vais essayer de l'adapter à mon cas
bonne soirée
Michel
15 nov. 2008 à 10:22
j'ai regardé ton fichier qui cela fonctionne très bien
mais vu mon niveau en Vba je ne me sens pas de taille
à l'adapter à ma demande
en fait je sais lire manuellement une cellule dans un fichier fermé, exemple:
='E:\Asso\Stats\2008\[2008_01.xls]Résumé'!$K$15
je me demandais s'il était possible dans la formule ci dessus
de remplacer le chemin et le nom par le contenu de 2 cellules
dans lesquelles j'entrerais le chemin et le nom du fichier
mais peut être cela es il impossible sous Excel
Bon week-end
d1Michel
15 nov. 2008 à 10:36
Je vais regarder ca avant Lundi je pense,
Pourrais tu m'envoyer en PJ un fond de page de ton classeur source ( 2008_X): cela me facilitera 70% du travail
Pour joindre un fichier:
https://www.cjoint.com/
et tu colles le lien sur ta réponse.
ta solution par lien manuel est valable mais très lourde a mon avis....
15 nov. 2008 à 12:49
https://www.cjoint.com/?lpmRKrMiDy
Les 12 fichiers mensuels ont la même structure
Je souhaiterai récupérer :
- dans la feuille « Saisie » …… les données C41:AA41
- dans la feuille « Saisie » …… les données C45:AF45
- dans la feuille « Résumé » ... les données K15:L33
- dans la feuille « Résumé » … les données N3:AF44
Une fois transcrites dans le fichier annuel, je les trie
Les 13 fichiers sont dans le même répertoire du type
- E:\Association\statstistiques\2008\2008_01.xls
Ces fichiers sont copiés sur différents ordinateurs, mais la partie du chemin E:\Association peut varier d’un ordi à l’autre c’est pourquoi je pensais en A1 lire le chemin par :
=GAUCHE(CELLULE("filename";$A$1);TROUVE("[";CELLULE("filename";$A$1))-2)
et en A2 l’année de traitement par
=GAUCHE(STXT(CELLULE("filename";$A$1);TROUVE("[";CELLULE("filename";$A$1))+1;SOMME(TROUVE({"[";"]"};CELLULE("filename";$A$1))*{-1;1})-1);4)
Ces éléments me servant de base pour lire les données dans les fichiers mensuels fermés
C’est sympa de m’apporter tes lumières, car à ce stade je suis un peu perdu
D’avance merci
d1michel
15 nov. 2008 à 13:40
encore 2 questions:
comment dispose t on ces quatre tableaux de données dans le fichier annuel ?
comment présenter les 12 mois en fonction de la question ci dessus ?
Le monde est petit: je suis natif de St Ger (rue St louis)!!