Utilisation d’une formule dans un pied de page (Microsoft Excel)
Skye a trois cellules sur une feuille de calcul qui sont importantes. Une cellule contient une date de début, la seconde contient une date de fin et la troisième contient un total des transactions entre ces dates. Il aimerait avoir un pied de page pour la page imprimée qui incorpore ces trois données, de manière dynamique. Il se demande s’il existe un moyen d’insérer une formule dans le pied de page afin qu’elle reflète ces valeurs.
Il n’existe aucun moyen intégré de le faire dans Excel car les formules ne peuvent pas être entrées dans les pieds de page; ils ne sont pas reconnus comme des formules par le programme.
Vous pouvez cependant utiliser une macro pour définir votre pied de page. Supposons, pour le bien de cette approche, que votre date de début est contenue dans la cellule E1, votre date de fin est dans la cellule E2 et votre total de transactions est dans la cellule E3. Dans ce cas, vous pouvez utiliser une macro comme celle-ci:
Private Sub Workbook_BeforePrint(Cancel As Boolean) Dim sTemp As String With Worksheets("Sheet1") ' Set wording for date range sTemp = .Range("E1").Text & " through " & .Range("E2").Text sTemp = sTemp & " (" & .Range("E3").Text & ")" .PageSetup.CenterFooter = sTemp End With End Sub
Il y a quelques points à noter dans cette macro. Tout d’abord, la macro définit uniquement les informations de pied de page dans la feuille de calcul nommée Sheet1, bien que vous puissiez modifier ce nom de feuille de calcul en ce dont vous avez besoin. Deuxièmement, notez que la propriété .Text est utilisée à la place de la propriété .Value. Il existe en fait trois façons de référencer le contenu de la cellule, comme indiqué ici:
sTemp = Worksheets("Sheet1").Range("E1") sTemp = Worksheets("Sheet1").Range("E1").Value sTemp = Worksheets("Sheet1").Range("E1").Text
Les deux premières approches sont équivalentes; ils définissent sTemp égal au contenu de la cellule. La troisième approche est différente; il définit sTemp égal au texte formaté de la cellule. En d’autres termes, sTemp sera égal à ce qui se trouve dans la cellule E1, car il est formaté dans la cellule. Puisque vous travaillez avec des dates et des sommes, c’est l’approche que vous souhaitez utiliser, c’est donc ce qui a été utilisé dans la macro.
Troisièmement, la macro finit par configurer le pied de page dans la variable sTemp. Telle qu’elle est écrite, la macro créerait un pied de page qui ressemblait à ceci:
1 Mar 2016 through 15 Mar 2016 ($1,234.56)
Là encore, l’apparence réelle dépend de la mise en forme dans les cellules E1, E2 et E3. La macro ajoute le mot «à travers» et met des parenthèses autour de la somme des transactions. Vous pouvez modifier ces éléments supplémentaires directement dans la macro.
Quatrièmement, la macro affecte la chaîne sTemp mise en forme (votre pied de page) à la position centrale dans le pied de page de la feuille de calcul. Si vous préférez que le pied de page soit ailleurs, vous pouvez simplement modifier la propriété .CenterFooter en .LeftFooter ou .RightFooter.
Enfin, vous devez être conscient que cette macro est conçue pour être ajoutée au module ThisWorkbook. Il est exécuté, automatiquement, juste avant l’impression du classeur. Cependant, il n’est pas déclenché en regardant la feuille de calcul dans l’aperçu avant impression, vous ne pouvez donc pas compter sur ce que vous pouvez voir avant d’imprimer réellement.
_Note: _
Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.
lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur]
.
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (559) s’applique à Microsoft Excel 2007, 2010, 2013 et 2016.