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

XL 2010 Formater Colonne d'un Listobject

cathodique

XLDnaute Barbatruc
Bonjour,

Je voudrais formater une colonne d'un tableau structuré sur la base de ce qui suit:
VB:
Dim LO As ListObject

Set LO = Sheets("bd").ListObjects(1)
LO.Columns("Id").Range.NumberFormat = "#,##0"  'plante'
LO.DataBodyRange.Columns("Id").Range.NumberFormat = "#,##0"  'plante'
'je ne trouve pas la bonne syntaxe'

Je ne veux pas utiliser la ligne ci-dessous
Range("NomTableau[Id]").NumberFormat = "#,##0"
Je voudrais apprendre et comprends l’utilisation du ListObject.

Bon 1er Mai.
 

Staple1600

XLDnaute Barbatruc
Bonjour @job75

Oui mais si on insère une colonne dans le tableau, ce sera toujours la 2ième qui recevra le format
Alors qu'en nommant la colonne, le format s'appliquera sur la colonne voulue.

VB:
Sub test_OK()
Dim LO As ListObject
Set LO = ActiveSheet.ListObjects(1)
LO.ListColumns("Id").Range.NumberFormat = "#,##0"
End Sub
Code:
Sub test_PasOK()
Dim LO As ListObject
Set LO = ActiveSheet.ListObjects(1)
'OK si N° colonne mais problème si insertion colonne
LO.Range.Columns("Id").NumberFormat = "#,##0"
End Sub
 

Staple1600

XLDnaute Barbatruc
Re

@TooFatBoy
Si on insère une nouvelle colonne, il n'y a pas de raison de renommer la nouvelle colonne Id, non ?
Puisqu'il existe déjà une colonne Id dans le tableau.
Le message#8 est juste le retour d'expérience de mon dernier test.
(avec toutes les syntaxes présentes dans le fil)
Ni plus, ni moins.
 

TooFatBoy

XLDnaute Barbatruc
Si on insère une nouvelle colonne, il n'y a pas de raison de renommer la nouvelle colonne Id, non ?
Il n'y a aucune raison d'insérer une colonne !
En revanche il est évident que si le chef de service veut un autre nom pour l'en-tête il faut obligatoirement le modifier. C'est pourtant évident. Non ?


Les messages #9 et #10 ne sont que des blagues
Ni plus, ni moins.
 

Staple1600

XLDnaute Barbatruc
Re

@TooFatBoy
Il y a la raison et il y a l'ICC
Et ce sera toujours l'ICC qui malencontreusement insérera une colonne parce ce que c'est dans sa nature.
PS: le message#10 n'est pas une blague.
C'est parce que j'ai fait le test en insérant une colonne, que j'ai posté le message#8.
J'évoque juste ce que j'ai constaté.
 

Staple1600

XLDnaute Barbatruc
Re

C'est dommage que la création d'un Style n'offre pas la possibilité de modifier le format numérique des cellules.

D'autant plus, que c'est accessible avec l'enregistreur de macros
Code:
Sub Macro()
ActiveWorkbook.TableStyles.Add ("Test")
    With ActiveWorkbook.TableStyles("Test")
        .ShowAsAvailablePivotTableStyle = False
        .ShowAsAvailableTableStyle = True
        .ShowAsAvailableSlicerStyle = False
        .ShowAsAvailableTimelineStyle = False
    End With
    With ActiveWorkbook.TableStyles("Test").TableStyleElements(xlFirstColumn). _
        Interior
        .Color = 255
        .TintAndShade = 0
    End With
End Sub
 

Discussions similaires

Réponses
8
Affichages
854
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…