Bonjour à toutes et à tous,
Je me permets de poser ma question sur ce forum car je vois souvent passer des topics questions / réponses de developpez.net, et je pense obtenir l'aide dont j'ai besoin ici !
Pour commencer : je suis un néophyte en matière de programmation. J'apprends sur le tas, bidouillant à droite à gauche, cherchant à comprendre ce que je fais plutôt que de copier bêtement une solution et l'appliquer. C'est rapide, certes, mais mon but est de développer une compétence pour être capable de la réutiliser intelligemment, de l'adapter si besoin, etc.
Bref, laissez-moi vous exposer mon "problème". Je vais essayer d'être le plus complet possible, et surtout le plus clair possible !
J'ai un dossier, que nous appellerons "dossier_a" dans lequel j'ai une centaine de fichiers excel, nommés "fichier_a1.xlsx", "fichier_a2.xlsx", etc. jusqu'à "fichier_a150.xlsx"
Sur ces fichiers, je n'ai qu'un onglet sur lequel j'ai une quantité astronomique de données. Pour chacun de ces fichiers, les données sont au même format (les cellules sont complétées de la même manière, il n'y a aucun décalage, etc.). Seule chose qui peut différer d'un fichier à l'autre : le nombre de lignes (certains fichiers ont jusqu'à 150 000 lignes, d'autres jusqu'à 132 000)...
En parallèle, dans un autre dossier ("dossier_b"), j'ai un fichier modèle "extract.xlsx". Sur ce fichier, j'ai deux onglets :
- le premier qui est vierge,
- et le deuxième qui convient des formules de calcul qui se basent sur les valeurs renseignées dans le premier onglet pour calculer d'autres paramètres.
Jusqu'à maintenant, je devais :
- ouvrir un des fichiers "fichier_aX.xlsx",
- copier l'intégralité des données disponibles sur l'onglet,
- ouvrir le fichier "extract.xlsx",
- coller les données sur le premier onglet de ce fichier,
- attendre que mon PC mouline et que les données soient utilisées par les formules de calcul du deuxième onglet,
- enregistrer le fichier sous un nouveau nom, par exemple "extract_aX.xlsx",
- effacer les données du premier onglet de ce fichier modèle,
- recommencer avec un nouveau fichier,
- etc.
L'idée est donc, pour chaque fichier "fichier_aX.xlsx", copier / coller les valeurs dans ce fameux fichier modèle "extract.xlsx" et enregistrer une nouvelle version avec les données du fichier "fichier_aX.xlsx", et refaire ça pour ma centaine de fichiers.
La tâche est fastidieuse et chronophage. Cela n'est pas difficile, puisque c'est une histoire de copié / collé, mais comme chaque action prend du temps en raison du grand nombre de données dont je dispose, rester trois heures devant le PC à faire des copiés / collés n'est pas ultra intéressant...
Et donc, je souhaiterais automatiser tout ça avec un script python, et ainsi faire en sorte de faire toutes les étapes et de les répéter pour chaque fichier. Ainsi, par exemple :
- pour cinq fichiers "fichier_a1.xlsx", "fichier_a2.xlsx", "fichier_a3.xlsx", "fichier_a4.xlsx" et "fichier_a5.xlsx",
- copier les données de chaque fichier sur ce modèle "extract.xlsx",
- attendre que mes valeurs soient calculées automatiquement sur le deuxième onglet de ce fichier,
- enregistrer une version "extract_a1.xlsx", effacer les données du fichier "extract.xlsx", puis recommencer avec le fichier "a2", puis "a3", et ainsi de suite...
Voilà ! Je ne sais pas si j'ai été très limpide dans mes explications, et donc n'hésitez pas à me demander d'étoffer ou de préciser certaines choses !
Si, en revanche, mon problème est clair, j'attends vos retours en sachant une fois de plus : mon but est de comprendre ce que je fais !
Merci beaucoup par avance !![]()
Partager