Extraire un tableau d’un PDF vers Excel sans fausser les chiffres

Par Jordan Javourez · Publié le · Mis à jour le

Dans un PDF, un tableau n’est qu’un ensemble de textes alignés : aucune cellule n’y est enregistrée. Pour le retrouver dans Excel, il faut reconstituer lignes et colonnes d’après les positions, puis transformer des textes en nombres. Voici ce qui se décale en chemin, comment le rattraper, et comment s’assurer que les totaux calculés sont justes.

Un tableau PDF n’a pas de cellules

Le PDF enregistre où chaque morceau de texte est posé. Les traits de la grille, s’il y en a, sont des tracés indépendants des valeurs qu’ils encadrent. Le balisage permet certes à l’auteur de signaler qu’un ensemble de contenus forme un tableau (PDF Association), mais c’est une possibilité offerte par le format, dont rien ne garantit la présence dans votre fichier.

PDF vers Excel ne s’appuie pas sur ces balises : il déduit la grille des coordonnées du texte. La méthode convient aux tableaux réguliers, beaucoup moins aux tableaux à cellules fusionnées ou à libellés sur plusieurs lignes.

Trois vérifications avant d’extraire

  1. Les données existent-elles déjà sous forme de fichier ? Avant toute extraction, cherchez si l’éditeur du document publie aussi ses chiffres en CSV ou en XLSX. Pour les données publiques françaises, data.gouv.fr, plateforme ouverte de la Direction interministérielle du numérique, rassemble des jeux de données publiés par les administrations et par la société civile.
  2. Le tableau est-il du texte ? Si rien ne s’y sélectionne, c’est une image, et il faudra d’abord passer par l’OCR, avec les réserves exposées plus bas. L’outil ne le signale que si aucune page du document ne contient de texte : un tableau scanné au milieu de pages ordinaires ne donne simplement rien d’exploitable.
  3. Quelles pages sont concernées ? Tout le texte d’une page entre dans sa feuille : titres, commentaires, notes de bas de page. Isolez les pages du tableau avec Extraire des pages pour limiter le nettoyage.

Comment l’outil reconstruit la grille

Sur chaque page, les fragments de texte situés à la même hauteur, à 4 points près (environ 1,4 mm), forment une ligne. Les colonnes naissent des positions où les fragments commencent : tout début qui tombe à moins de 8 points, soit un peu moins de 3 mm, de celui d’une colonne déjà repérée s’y rattache ; au-delà, une nouvelle colonne est ouverte. Chaque fragment est enfin rangé dans la colonne qui commence juste à sa gauche.

Le classeur contient une feuille par page porteuse de texte, nommée « Page 1 », « Page 2 », etc. Une page sans texte ne crée pas de feuille, si bien que la numérotation peut sauter. Un aperçu des quinze premières lignes de la première feuille s’affiche avant le téléchargement.

Toutes les cellules sont enregistrées comme du texte, même « 12 » ou « 1 234,56 ». Tant qu’elles n’ont pas été converties, les formules de calcul ne les traitent pas comme des nombres : la marche à suivre est détaillée plus bas.

Les décalages typiques, et leur correction

Sur un petit tableau de test (désignations à gauche, quantités et montants alignés à droite), la reconstruction a produit les défauts suivants.

Ce que vous voyezPourquoiComment corriger
Les montants d’une même colonne se répartissent sur deux colonnes, ou davantageAlignés à droite, « 42,50 » et « 1 234,00 » ne commencent pas au même endroit : dès que l’écart atteint 8 points, une colonne supplémentaire apparaîtLes réunir dans une colonne vide, par exemple avec =VALEURNOMBRE(D2&E2;",";" "), qui convertit du même coup
Une ligne ne contient qu’un mot, comme « express »Le libellé occupait deux lignes dans le PDFRecoller le fragment à la ligne du dessus, puis supprimer la ligne
Un libellé est éparpillé sur plusieurs colonnesSes mots ont été enregistrés comme des fragments distinctsLes réunir, par exemple avec =B2&" "&C2
Des titres ou des notes s’intercalent entre les donnéesTout le texte de la page est luSupprimer ces lignes, ou isoler les pages du tableau avant la conversion
Les colonnes ne correspondent pas d’une feuille à l’autreLa grille est recalculée à chaque pageAligner chaque feuille avant de copier les lignes à la suite

Transformer les textes en vrais nombres

Excel peut signaler les nombres stockés sous forme de texte et propose alors, d’après son aide officielle, la commande « Convertir en nombre » ou la fonction CNUM. Pour des montants écrits à la française, mieux vaut une fonction explicite : VALEURNOMBRE, qui reçoit en arguments le séparateur décimal et le séparateur de milliers (syntaxe). Sans ces arguments, elle applique ceux des paramètres régionaux de l’ordinateur.

  1. Retirez ce qui n’est pas numérique, comme le symbole € ou la mention HT, avec la fonction Rechercher et remplacer.
  2. Dans une colonne vide, saisissez =VALEURNOMBRE(C2;",";" ") pour un montant situé en C2, puis recopiez la formule vers le bas. Les espaces du texte sont ignorées, même au milieu du nombre.
  3. Copiez les résultats et collez-les en valeurs à la place des textes d’origine, puis supprimez la colonne de calcul.
  4. Appliquez un format numérique ou monétaire : il modifie l’affichage, pas la valeur.
Traitez à part les dates, les pourcentages et les montants négatifs notés entre parenthèses : une conversion en bloc risque de les fausser ou de les laisser en erreur.

Tableau scanné : l’OCR, avec prudence

Un tableau scanné ou photographié ne contient aucun texte. OCR PDF, en sortie « PDF cherchable », ajoute sur chaque page une couche invisible où les mots reconnus sont placés à leur position ; PDF vers Excel lit ensuite cette couche comme du texte ordinaire.

Le résultat demande plus de travail. La couche d’OCR enregistre chaque mot séparément : lors de notre essai sur une page de texte suivi, la reconstruction a éparpillé les mots sur plus de vingt colonnes. Un nombre d’un seul tenant reste dans une cellule, mais un montant écrit avec une espace de milliers, comme « 1 234,56 », compte deux mots et peut se retrouver coupé en deux. Surtout, une erreur de reconnaissance sur un chiffre ne se voit pas : un 8 lu comme un 3 donne une valeur plausible. Pour tirer le meilleur de la reconnaissance elle-même, suivez les conseils de numérisation du guide consacré à l’OCR.

Contrôler avant d’utiliser les chiffres

  • Recalculez les totaux dans Excel et comparez-les à ceux imprimés dans le PDF : un écart trahit une ligne perdue, décalée ou mal convertie.
  • Comptez les lignes de données de chaque feuille et rapprochez-les du document.
  • Vérifiez à l’œil quelques valeurs, en priorité les plus élevées et celles qui comportent un séparateur de milliers.
  • Gardez le PDF d’origine avec le classeur : il reste la référence en cas de doute.

Pour des dizaines de pages de tableaux, un import spécialisé peut faire gagner du temps : Excel propose un connecteur PDF, accessible par le menu Données, qui affiche les tableaux détectés dans le fichier (aide Excel). Sa documentation technique reconnaît que les lignes sur plusieurs niveaux peuvent être mal identifiées : les mêmes contrôles s’imposent.

Questions fréquentes

Pourquoi une feuille par page plutôt qu’une seule feuille ?

Parce que la grille est calculée page par page, et que les colonnes d’une page ne tombent pas forcément au même endroit sur la suivante. Pour un tableau sur plusieurs pages, alignez d’abord les colonnes de chaque feuille, puis copiez les lignes à la suite dans une feuille unique, sans répéter l’en-tête.

Les cellules fusionnées et les en-têtes sur deux niveaux sont-ils conservés ?

Non, le classeur produit ne contient aucune fusion. Un en-tête centré au-dessus de plusieurs colonnes peut même créer sa propre colonne, vide pour les autres lignes. Reconstruisez ces en-têtes à la main une fois les données nettoyées.

Le PDF réclame un mot de passe : que faire ?

Tant que le fichier le réclame à l’ouverture, l’outil ne peut pas le lire. Muni de ce mot de passe, retirez la protection sur une copie grâce à Déverrouiller PDF ; ce guide sur la protection des PDF distingue ce mot de passe des simples restrictions d’usage.

Sources