Import automatisé de données provenant d'autres XLS
Bonjour à tous,
Nouveau sur le forum je tiens déjà à dire merci à tous ceux qui font vivre ce site mais également à tous ceux qui prennent de leur temps perso pour apporter des réponses aux néophytes comme moi.
Avant de vous poser ma question je me situe à 4/10 en utilisation excel et 2/10 en VBA, pas complètement étranger au vba mais apprenti de la première heure.
Je suis en charge de fournir à mon directeur différents éléments analytiques lui permettant d'orienter ses actions commerciales.
Pour ce faire, nous nous appuyons sur un réseau de VRP et de magasins.
Chaque acteur me fait remonter un tableau excel en fin de semaine contenant 35 colonnes pour un nombre de ligne variables de 200 à 10000.
Chaque semaine je reçois donc les fichiers que j'enregistre en sous-dossier S1, S2 etc jusqu'à S52 en général.
Chaque semaine je fais la synthèses de mes fichiers dans un fichier xslm nommé SYNTHSESE : j'importe manuellement les données de la plage A4:AO10000 de chaque fichier dans cette SYNTHESE les une à la suite des autres.
Je souhaiterai pouvoir intégrer à ma SYNTHESE une macro qui donne l'ordre suivant :
1 A l'arrivée d'un nouveau fichier enregistré dans le sous-dossier hebdomadaire, n'ayant pour seule variable dans le nom de fichier que le n° de semaine, prendre les données A4:AO1000 de l'onglet VENTES et les coller dans l'onglet DONNEES de ma SYNTHESE.
2 A l'arrivée du prochain fichier (celui d'un autre point de vente) prendre les données et les coller à la suite de la première plage importée sans écraser les précédentes données.
Pourriez-vous répondre à mes questions suivantes :
- Est-ce réalisable?
- Est-ce trop complexe à coder et devrai-je continuer de le faire manuellement ?
Merci d'avance pour vos réponses éclairées.
Mat.
Bonjour Surfisnotdead,
- Est-ce réalisable?
- Est-ce trop complexe à coder et devrai-je continuer de le faire manuellement ?
C'est réalisable et il est même conseillé d'automatiser à coup de VBA ce genre de tâche
Lorsque tu importes l'un des 52 doc - par VBA dans un onglet à part - tu sauvegardes le numero de la semaine et sa date de mise-à-jour.
Ensuite à chaque ouverture du document de synthèse tu passes en revue les 52 fichiers (ou moins) et tu vérifies la date de mise-à-jour de celui-ci avec la dernière mise-à-jour qui a été notée dans ton fichier synthèse. C'est ce qui va te permettre de savoir à chaque fois si un fichier à été modifié depuis le dernier import. Si il y a besoin d'un import il suffit de placer les données importées sur la première ligne vierge afin de ne rien écraser.
Si tu souhaites un coup de pouce tu peux nous envoyer une maquette du fichier synthèse ainsi que d'un fichier hebdomadaire.
Bonjour Ginga999,
Merci beaucoup pour ta réponse.
Désolé de ne pouvoir répondre que si tardivement. Impératifs professionnels et vie de dingue...
Avec tes éléments de réponse : "C'est réalisable et il est même conseillé d'automatiser à coup de VBA ce genre de tâche
Structure :
1 - Suppression des dernières données importées.
2 - Ouvrir 1 fichier enregistré, import de nouvelles données, fermer fichier.
3 - Passer au fichier suivant et renouveler action 2.
4 - Si pas d'autres fichiers à traiter, trier par dates croissantes.
5 - Consolider formules liées aux différents TCD.
Elle est un peu en difficulté pour "looper" les actions 2 et 3 mais elle semble être confiante...
Par ailleurs, nous sommes partis du principe que chaque fichier qui "remonte" évolue chaque semaine et que nous pouvions donc nous affranchir de la mise en rapport "date de MàJ". En tout cas, merci à toi pour ta réponse et à bientôt sur d'autres fils.
Mat.