Précédemment, nous avons appris à fusionner des PDF. Aujourd’hui, nous passons au niveau « Expert » : je vous propose de voir comment fusionner plusieurs documents texte (format .docx) ou plusieurs tableaux de données (format .xlsx/.xls) en un seul et unique fichier final.
C’est l’outil indispensable pour compiler les contributions de toute une équipe, réunir vos chapitres éparpillés ou consolider vos colonnes de chiffres en un grand bilan de fin d’année. Fini le « Copier-Coller » qui déforme tout, place à la fusion millimétrée.
💡 Rappel important : Ce travail ne s’effectue pas sur votre ordinateur (Chromebook ou autre), mais directement sur les serveurs sécurisés de Google.
A retenir :
Ce guide détaille l’utilisation des bibliothèques
python-docxetpandasau sein de l’environnement Cloud Google Colab pour automatiser la concaténation de fichiers structurés (.docx et .xlsx), garantissant l’intégrité des données et de la mise en page via une approche programmatique.
Sur quelles applications nous appuyons-nous ?
Pour réussir cette fusion sans erreur, nous utilisons un écosystème bien précis via votre Chromebook :
- Google Drive (Le stockage) : C’est là que vous déposez vos « morceaux » de rapports (Doc 1, Doc 2…). Le robot ira les chercher un par un.
- Google Colab (L’atelier) : C’est l’endroit où nous exécutons le code. Il sert de table de montage pour assembler vos fichiers.
- Python-Docx (L’expert en texte) : Utilisé pour les fichiers Word. Elle sait ouvrir un document, copier son contenu (texte, images, styles) et l’injecter dans un document « Maître » sans perdre la mise en page.
- Pandas (L’expert en données) : L’outil de référence mondial pour les données Excel/Sheets. Il est capable de lire plusieurs tableaux et de les « empiler » parfaitement.
Récapitulatif technique
| Type de Fusion | Application / Outil Python | Rôle exact |
| Documents (Texte) | python-docx | Assemble les pages et respecte le style. |
| Tableaux (Chiffres) | Pandas | Aligne les colonnes et fusionne les lignes. |
| Interface | Google Colab | Pilote l’ensemble de l’opération. |
Le concept : La « chaîne de montage »
Le robot ne fait pas qu’ajouter les fichiers les uns après les autres au hasard. Il suit un protocole strict :
- Le tri : Il classe vos fichiers par nom (01, 02, 03…).
- L’ouverture : Il ouvre le premier fichier qui servira de base (le « Maître »).
- L’injection : Il crée un « saut de page » (pour les Docs) et ajoute le contenu suivant.
- La consolidation : Pour les Sheets, il vérifie que les colonnes correspondent avant de fusionner.
Guide pas-à-pas : Fusion de documents (.docx)
1. Préparez vos fichiers
Rassemblez vos documents (téléchargés au format .docx depuis Google Docs) dans un dossier nommé A_FUSIONNER sur votre Drive. Nommez-les : 01_Intro.docx, 02_Partie1.docx, etc.
Vous pouvez modifier les noms de dossier et de fichier final directement dans le code (voir ci-dessous) :
dossier_source = '/content/drive/MyDrive/A_FUSIONNER'
fichier_final = '/content/drive/MyDrive/MON_RAPPORT_FINAL.docx'
2. Le script de fusion automatique
Rendez-vous sur colab.research.google.com et utilisez ce script :
import os
from docx import Document
from copy import deepcopy # ← IMPORTANT : ajout v2
from google.colab import drive
# 1. Accès au Drive
if not os.path.exists('/content/drive'):
drive.mount('/content/drive')
# 2. Configuration (Modifiez les noms ici si besoin)
dossier_source = '/content/drive/MyDrive/A_FUSIONNER'
fichier_final = '/content/drive/MyDrive/MON_RAPPORT_FINAL.docx'
if not os.path.exists(dossier_source):
print(f"⚠️ Dossier '{dossier_source}' introuvable.")
else:
# On trie pour respecter l'ordre (01, 02...)
fichiers = sorted([f for f in os.listdir(dossier_source)
if f.endswith('.docx')])
if not fichiers:
print("ℹ️ Aucun document Word (.docx) trouvé.")
else:
print(f"🤖 Robot : Assemblage de {len(fichiers)} fichiers...")
try:
# Le premier fichier impose son style (police, marges)
rapport_maitre = Document(
os.path.join(dossier_source, fichiers[0]))
for i in range(1, len(fichiers)):
try:
rapport_maitre.add_page_break()
chapitre = Document(
os.path.join(dossier_source, fichiers[i]))
for element in chapitre.element.body:
# deepcopy → évite les références XML dupliquées
rapport_maitre.element.body.append(
deepcopy(element))
print(f"✅ Ajouté : {fichiers[i]}")
except Exception as e:
print(f"❌ Erreur sur {fichiers[i]} : {e}")
rapport_maitre.save(fichier_final)
print(f"\n✨ Terminé ! Rapport disponible ici : {fichier_final}")
except Exception as e:
print(f"❌ Erreur critique sur le premier fichier : {e}")
Pourquoi passer par le code ?
Fusionner manuellement 15 documents Google Docs expose à des erreurs de « copier-coller » (un paragraphe oublié, une police qui change tout d’un coup). En utilisant python-docx, vous travaillez au niveau de la structure même du fichier. Le robot ne « voit » pas la mise en page comme nous, il voit des blocs de données qu’il déplace avec une grande fiabilité, à condition d’utiliser deepcopy pour éviter les références XML corrompues.
L’expert de la structure narrative : python-docx
L’outil python-docx est l’expert de la structure narrative. Il permet à votre robot de « lire » un fichier Word/Docs comme s’il s’agissait d’un livre dont on peut déplacer les chapitres, modifier les titres ou ajouter des images sans jamais toucher à une souris.
C’est quoi, concrètement ?
python-docx est une bibliothèque Python spécialisée dans la création et la modification de fichiers au format .docx (le format standard de Microsoft Word et Google Docs). Son immense avantage est qu’il ne se contente pas de copier du texte brut. Il manipule des objets : il sait ce qu’est un paragraphe, un tableau, une image ou un saut de page.
Les trois piliers de python-docx
Pour comprendre comment cet ouvrier travaille, il faut voir un document comme une poupée russe :
Un contenu de qualité, sans publicité.
Vous aimez notre travail ? Soutenez notre indépendance en devenant membre sur Patreon.
Soutenir MyChromebook.fr- Le document : C’est l’enveloppe globale (votre fichier).
- La section : C’est la mise en page (marges, orientation portrait/paysage, en-têtes).
- Le paragraph : C’est l’unité de base du texte. Chaque paragraphe peut contenir des Runs (des morceaux de texte avec des styles différents, comme du gras ou de l’italique).
Fiche technique : L’outil python-docx
| Caractéristique | Détails | Fonction / Utilité |
| Nom complet | python-docx | Création et mise à jour de fichiers Word (.docx). |
| Type d’outil | Bibliothèque Python | S’installe via !pip install python-docx. |
| Format géré | .docx uniquement | Ne gère pas le vieux format .doc ou le .pdf. |
| Lecture | Document(‘mon_fichier.docx’) | Ouvre un fichier existant pour l’analyser. |
| Ajout de texte | add_paragraph, add_heading | Crée des titres et des paragraphes à la volée. |
| Structure | add_page_break | Force le passage à la page suivante. |
| Tableaux | add_table | Génère des grilles de données dans le texte. |
| Sauvegarde | save(‘final.docx’) | Enregistre toutes les modifications. |
⚠️ Limites à connaître
Les styles personnalisés des chapitres ajoutés ne sont pas automatiquement fusionnés : seuls les styles du premier document (le Maître) s’appliquent. Si votre police habituelle change après fusion, c’est normal — pensez à harmoniser vos styles avant de lancer le script.
Guide pas-à-pas : Fusion de tableurs (.xls / .xlsx)
1. Préparez vos fichiers
Rassemblez vos tableaux dans un dossier nommé TABLEAUX_A_FUSIONNER sur votre Drive. Nommez-les : 01_Janvier.xlsx, 02_Fevrier.xlsx, etc.
dossier_tableaux = '/content/drive/MyDrive/TABLEAUX_A_FUSIONNER'
fichier_annuel = '/content/drive/MyDrive/BILAN_ANNUEL_2026.xlsx'
2. Le script de fusion automatique
Rendez-vous sur colab.research.google.com et utilisez ce script :
import pandas as pd
import os
from google.colab import drive
# 1. Montage du Drive
if not os.path.exists('/content/drive'):
drive.mount('/content/drive')
# 2. Configuration
dossier_tableaux = '/content/drive/MyDrive/TABLEAUX_A_FUSIONNER'
fichier_annuel = '/content/drive/MyDrive/BILAN_ANNUEL_2026.xlsx'
if not os.path.exists(dossier_tableaux):
print("⚠️ Dossier introuvable.")
else:
fichiers = sorted([f for f in os.listdir(dossier_tableaux)
if f.endswith(('.xlsx', '.xls'))])
liste_donnees = []
for f in fichiers:
try:
donnees = pd.read_excel(
os.path.join(dossier_tableaux, f))
liste_donnees.append(donnees)
print(f"✅ Données extraites de : {f}")
except Exception as e:
print(f"❌ Impossible de lire {f} : {e}")
# Le robot fusionne tout intelligemment
tableau_final = pd.concat(liste_donnees, ignore_index=True)
tableau_final.to_excel(fichier_annuel, index=False)
print(f"\n✨ Fusion terminée ! Bilan ici : {fichier_annuel}")
Un vrai couteau suisse : Pandas
Dans l’univers de la programmation Python, Pandas est la bibliothèque incontournable pour quiconque manipule des données. Si Python était un ouvrier, Pandas serait son établi ultra-perfectionné capable de trier, filtrer et transformer des milliers de lignes de chiffres en un clin d’œil.
C’est quoi, concrètement ?
Pandas est une bibliothèque open source qui permet d’analyser et de manipuler des données structurées. Son nom vient du terme économétrique « PANel DAta » (données de panel). Son immense succès repose sur sa capacité à transformer des fichiers bruts (CSV, Excel, SQL) en un objet appelé DataFrame : un tableau avec des lignes et des colonnes doté d’une intelligence de calcul phénoménale.
Les deux piliers de Pandas
- La Series : C’est une colonne unique. Imaginez une seule colonne dans une feuille Excel.
- Le DataFrame : C’est l’ensemble du tableau. Un regroupement de plusieurs Series qui partagent le même index (les numéros de lignes).
Fiche technique : L’outil Pandas
| Caractéristique | Détails | Fonction / Utilité |
| Nom complet | Python Data Analysis Library | Analyse et manipulation de données. |
| Type d’outil | Bibliothèque Python | S’installe via pip install pandas. |
| Format favori | DataFrame | Un tableau intelligent à 2 dimensions. |
| Lecture / Import | read_csv, read_excel, read_sql | Capable d’ouvrir presque n’importe quel fichier. |
| Nettoyage | dropna, fillna | Supprime ou remplace les données manquantes (NaN). |
| Fusion | merge, concat, join | Assemble plusieurs tableaux comme un pro du SQL. |
| Calculs | groupby, sum, mean | Calcule des statistiques sur des millions de lignes. |
| Exportation | to_csv, to_excel | Sauvegarde le travail fini en un nouveau fichier. |
Personnalisez votre robot : Le code est à VOUS !
Le robot que vous venez de lancer est déjà très malin, mais il est fait pour être personnalisé ! Voici comment le faire évoluer selon votre façon de travailler :
- Gérez vos séparations (Docs) : Vous préférez un rapport compact sans pages blanches entre les chapitres ? Supprimez simplement la ligne
rapport_maitre.add_page_break(). Le robot collera alors vos textes les uns après les autres sans interruption. - Harmonisez vos colonnes (Sheets) : Assurez-vous que vos en-têtes (Nom, Date, Montant) ont exactement le même nom dans tous vos fichiers. S’il y a une différence, Pandas créera une nouvelle colonne.
- Modifiez vos dossiers : Vous préférez travailler dans un dossier nommé « Archives_2026 » ? Changez simplement le texte entre guillemets dans les chemins d’accès.
Soyez créatif ! Ce script est une base. Une fois que vous avez compris comment il aspire le contenu du Point A pour forger un fichier unique au Point B, les possibilités de création de rapports automatisés sont infinies.
Vous pouvez retrouver l’ensemble de nos articles sur l’intégration de script Python en cliquant ici.
Si vous désirez un script Python pour une opération à effectuer sur vos fichiers, n’hésitez pas à le demander dans les commentaires. C’est aussi ça, l’informatique au service de l’humain.
FAQ (Foire Aux Questions)
Pourquoi utiliser Google Colab plutôt que mon ordinateur ?
Google Colab exécute le code sur les serveurs de Google. Cela évite d’installer Python sur votre machine, garantit une puissance de calcul stable et facilite l’accès direct à vos fichiers stockés sur Google Drive.
Mes styles de texte (polices, couleurs) sont-ils conservés lors de la fusion Word ?
Le script utilise le document « Maître » (le premier fichier) comme référence pour les styles. Pour un résultat optimal, assurez-vous que tous vos documents sources utilisent les mêmes noms de styles avant la fusion.
Que se passe-t-il si mes tableaux Excel n’ont pas les mêmes colonnes ?
La bibliothèque Pandas alignera les colonnes identiques. Si une colonne existe dans un fichier mais pas dans l’autre, elle sera créée dans le fichier final avec des valeurs vides (NaN) pour les documents où elle manquait.




