Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro pied de page: mise en forme d'un nombre

sdevers

XLDnaute Nouveau
Bonjour à tous,

J'ai créé une petite macro qui insère un pied de page sur toutes les feuilles d'un classeur. La macro vient chercher les informations dans la première feuille (cellule A1, A2, B1 et B2).

Dans ma cellule A2, j'ai un nombre à 9 chiffres. Dans Excel, j'ai pu employer le format de cellule pour mettre un séparateur de millier.
J'ai essayé de faire pareil avec l'enregistreur de macro, il me donne comme code "Selection.numerFormat = "#,##0".

J'aimerais pouvoir mettre ce format "#,##0" dans mon pied de page.

Je vous annexe mon code.

Merci d'avance et joyeuses fêtes
 

Pièces jointes

  • test pied de page.xlsm
    20.7 KB · Affichages: 47

Tentative

XLDnaute Occasionnel
Re : Macro pied de page: mise en forme d'un nombre

Bonjour,

Si le nombre en B1 est toujours de 9 chiffres ...

Une tentative de tricherie ...
Code:
With Sheets(x).PageSetup
        'pied de page
        .LeftFooter = "&""Calibri""" & "&9&K63666A" & Sheets(1).Range("A1") & Chr(10) & "&""Calibri""" & _
        "&9&K63666ARPM" & " 0" & Left(Sheets(1).Range("A2"), 3) & " " & Mid(Sheets(1).Range("a2"), 4, 3) & " " & Right(Sheets(1).Range("a2"), 3)
        .RightFooter = "&9&K63666AExercice d'imposition " & Sheets(1).Range("B1")
    End With


Tentative
 
Dernière édition:

sdevers

XLDnaute Nouveau
Re : Macro pied de page: mise en forme d'un nombre

Hello Tentative,

Quitte à tricher, j'ai modifié le contenu de ma cellule A2. J'ai copié en A3 les données de A2 mais au format texte. J'y y intégré mes séparateurs de millier via la fonction Excel TEXTE(montexte;"#.##0").

Maintenant j'importe la cellule A3 dans mon pied de page. J'importe donc un texte et non plus un nombre... Le résultat est OK.

Par contre, si quelqu'un a la VRAIE solution, je suis preneur.

J'arrive toujours à retomber sur mes pattes en cherchant un peu mais c'est pas très orthodoxe

Merci d'avance,
 

Modeste

XLDnaute Barbatruc
Re : Macro pied de page: mise en forme d'un nombre

Bonjour,

Je ne sais pas si j'ai compris, mais chez moi (où le séparateur de milliers est l'espace), ceci fonctionne:
VB:
With Sheets(x).PageSetup
    'pied de page
    .LeftFooter = "&""Calibri""" & "&9&K63666A" & Sheets(1).Range("A1") & Chr(10) & "&""Calibri""" & "&9&K63666ARPM 0" & Format(Sheets(1).Range("A2"), "000 000 000")
    .RightFooter = "&9&K63666AExercice d'imposition " & Sheets(1).Range("B1")
End With

Avec le point défini comme séparateur de milliers, ceci semble fonctionner:
VB:
With Sheets(x).PageSetup
    'pied de page
    .LeftFooter = "&""Calibri""" & "&9&K63666A" & Sheets(1).Range("A1") & Chr(10) & "&""Calibri""" & "&9&K63666ARPM 0" & Format(Sheets(1).Range("A2"), "000"".""000"".""000")
    .RightFooter = "&9&K63666AExercice d'imposition " & Sheets(1).Range("B1")
End With

Joyeuses fêtes
 

sdevers

XLDnaute Nouveau
Re : Macro pied de page: mise en forme d'un nombre

Merci Modeste pour cette tentative mais ce n'est pas encore ça.

Quand j'applique ton code, j'obtiens "123456789.000.000" au lieu de "123.456.789".

Je vais donc garder ma manière de faire, c'est-à-dire convertir mon nombre en texte où je peux appliquer mes séparateurs de milliers "." via un CONCATENER().

Vu que les données dans le pied de page ne sont pas utilisées pour d'autres calculs, ce n'est pas gênant qu'elles soient en textes.

Encore merci pour votre soutien.

A+ et joyeux noël
 

Tentative

XLDnaute Occasionnel
Re : Macro pied de page: mise en forme d'un nombre

Bonjour,

Une variante du code de Modeste :
Code:
With Sheets(x).PageSetup
    'pied de page
   .LeftFooter = "&""Calibri""" & "&9&K63666A" & Sheets(1).Range("A1") & Chr(10) & "&""Calibri""" & "&9&K63666ARPM 0" & Format(Sheets(1).Range("A2"), "000"",""000"",""000")
    .RightFooter = "&9&K63666AExercice d'imposition " & Sheets(1).Range("B1")
End With

En remplaçant les . par des , ça fonctionne chez-moi.

Que cela fonctionne ou donne un résultat du genre 817408409.000.000 semble tributaire des paramètres de l'ordinateur.

Bonne continuité


Tentative
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…