|  
    
Il n'existe pas de fonctionnalité intégrée dans Excel 2007 (ou toute autre version) permettant d'afficher *toutes* les formules d'un classeur entier sur une seule page. Le plus proche possible implique plusieurs approches différentes, chacune avec des limites :
  
 1. Utilisation de "Afficher les formules" et Imprimer :  
  
 * Le plus simple, mais limité : Activez « Afficher les formules » (onglet Formules> Afficher les formules). Ensuite, imprimez la ou les feuilles. Cela affichera les formules *telles qu'elles apparaissent dans les cellules* de chaque feuille. Si vous avez plusieurs feuilles, cela nécessitera plusieurs pages.  
  
 2. Copier et coller :  
  
 * Plus de contrôle, mais manuel : Sélectionnez toutes les cellules contenant des formules (Ctrl+A), copiez-les (Ctrl+C) et collez-les dans une nouvelle feuille (Ctrl+V). Cela affichera uniquement les formules, sans les résultats. Vous devrez peut-être ajuster la largeur des colonnes pour voir toutes les formules. Cela peut néanmoins nécessiter plusieurs pages pour un classeur volumineux.  
  
 3. Macro VBA (la plus puissante, mais nécessite un codage) :  
  
 * Plus efficace pour les classeurs volumineux : Une macro VBA peut parcourir toutes les feuilles de votre classeur, collecter les formules et les concaténer en une seule chaîne. Cette chaîne peut ensuite être écrite dans une seule cellule (ou plusieurs cellules si la chaîne est trop longue) sur une nouvelle feuille. C'est le seul moyen de *garantir* que toutes les formules se trouvent sur une seule page, en particulier pour les très gros classeurs. Cependant, cela nécessite de comprendre la programmation VBA. Voici un exemple de base : 
  
 ```vba  
 Sous ShowAllFormulas()  
 Dim ws comme feuille de calcul, strFormulas comme chaîne  
 Pour chaque ws dans ThisWorkbook.Worksheets  
 strFormulas =strFormulas &ws.Name &":" &vbCrLf  
 Pour chaque cellule dans ws.UsedRange  
 Si cell.HasFormula Alors  
 strFormulas =strFormulas &cell.Address &":" &cell.Formula &vbCrLf  
 Fin si  
 Cellule suivante  
 Article suivant  
  
 Sheets.Add After:=Sheets(Sheets.Count) 'Ajouter une nouvelle feuille  
 ActiveSheet.Range("A1").Value =strFormulas  
 Fin du sous-marin  
 ```  
  
 Considérations importantes :  
  
 * Taille de la feuille : Même avec la méthode VBA, si vous disposez d'un très grand nombre de formules, la capacité d'une seule page peut toujours être dépassée. Vous devrez peut-être envisager de diviser la sortie ou d'utiliser une approche de formatage différente (par exemple, une police plus petite).  
 * Formatage : La sortie de la macro VBA sera du texte brut. Vous perdrez tout formatage de cellule d'origine.  
 * Références circulaires : La macro peut ne pas gérer correctement les références circulaires.  
 * Gestion des erreurs : Le code VBA fourni est basique. Une macro plus robuste inclurait la gestion des erreurs.  
  
  
 La meilleure approche dépend de la taille et de la complexité de votre classeur ainsi que de votre niveau de confort avec VBA. Pour les classeurs de petite à moyenne taille, un copier-coller ou l'utilisation de « Afficher les formules » peut suffire. Pour les classeurs volumineux, la macro VBA offre la solution la plus complète. N'oubliez pas d'enregistrer une copie de sauvegarde de votre classeur avant d'exécuter des macros.
 
 |