Format monetaire listview

  • Initiateur de la discussion Initiateur de la discussion BOCARAMEL
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

BOCARAMEL

XLDnaute Occasionnel
Bonjour a tous 🙂
J'aimerai avoir dans la colonne "montant" de ma listview un format
monetaire ex: 12,45€
ainssi que centré le texte de la colonne "montant"
Merci de votre aide

Ps : fichier joint
Bocaramel
 

Pièces jointes

Re : Format monetaire listview

Bonsoir Bocaramel,

Tu as mis un fichier au format Excel 2007. Je ne peux pas le lire, mais voici un exemple pour faire ce que tu souhaites.

Pour le centrage de la colonne :
Code:
'.../...
With ListView1
    'Entête
    With .ColumnHeaders
       .Clear
       '.../...
       .Add , , "Montant", 65, [B]lvwColumnCenter [/B]
       '.../...
    End With
'.../...
65 = la largeur de la colonne
lvwColumnCenter permet de centrer l'affichage de la colonne. Il existe aussi
lvwColumnRight : Affichage à droite
lvwColumnletf : Affichage à gauche

Pour le format monétaire :

Si tu utilises une boucle pour alimenter la ListView
Code:
'.../...
For i = 2 To Sheets("Feuil1").Range("A65536").End(xlUp).Row
           .ListItems.Add ,  , Sheets("Feuil1").Cells(i, 1) 
           .ListItems(.ListItems.Count).ListSubItems.Add , , Format(Sheets("Feuil1").Cells(i, 2), "# ##0.00 €")
'.../...
Ici c'est la colonne B de la feuille qui sera mise au format monétaire dans la ListView.

A+
 
Re : Format monetaire listview

bonjour bqtr 🙂
et vraiment merci pour ton aide
je n'y arrive pas je ne maitrise pas encore tout ça 😕

Private Sub UserForm_Activate()
Call Affiche
End Sub

Private Sub UserForm_Initialize()
With ListView1
.ListItems.Clear
.View = 3 'lvwReport
With .ColumnHeaders
.Clear
'Ajoute n colonnes en spécifiant le nom de l'entête et la largeur des colonnes
.Add , , "n°", 40
.Add , , "Mode", 60, lvwColumnCenter
.Add , , "categorie", 50, lvwColumnCenter
.Add , , "details", 50, lvwColumnCenter
.Add , , "Montant", 50, lvwColumnCenter

End With
End With
End Sub

Sub Affiche()
'ListView1.ListItems.Clear
With ListView
For i = 1 To 50 'Sheets("Feuil1").Range("A65536").End(xlUp).Row
.ListItems.Add , , Sheets("feuil1").Cells(i, 1).Value
.ListItems(.ListItems.Count).ListSubItems.Add , , Format(Sheets("Feuil1").Cells(i, 5), "# ##0.00 €")
Next i
.Gridlines = True
.FullRowSelect = True
.HideColumnHeaders = False
.LabelEdit = 1
.ListItems(1).Selected = False ' on désélectionne la première ligne
Set .SelectedItem = Nothing
End With
End Sub

dans un userform1 listview1

merci
bocaramel
 
Re : Format monetaire listview

Re,

A la lecture de ton code il faut décomposer la boucle comme ceci si tes données sont dans les colonnes A à E:
Code:
For i = 1 To 50 'Sheets("Feuil1").Range("A65536").End(xlUp).Row
    .ListItems.Add , , Sheets("Feuil1").Cells(i, 1).Value
    .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("Feuil1").Cells(i, 2) 
    .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("Feuil1").Cells(i, 3)
    .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("Feuil1").Cells(i, 4)
    .ListItems(.ListItems.Count).ListSubItems.Add , , Format(Sheets("Feuil1").Cells(i, 5), "# ##0.00 €")
 Next i
A+
 
Dernière édition:
Re : Format monetaire listview

Re,

Comme tu fais appel à une macro externe au module de code du Userform1, il faut préciser à la macro où est la ListView. (sur le Userform1). Il faut rajouter Le nom du Userform devant ListView.
Voici le code modifié :
Code:
Sub Affiche()
'
With UserForm1.ListView1
    For i = 2 To 50
      .ListItems.Add , , Sheets("Feuil1").Cells(i, 2)
      .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("Feuil1").Cells(i, 3)
      .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("Feuil1").Cells(i, 4)
      .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("Feuil1").Cells(i, 5)
      .ListItems(.ListItems.Count).ListSubItems.Add , , Format(Sheets("Feuil1").Cells(i, 6), "# ##0.00 €")
    Next i
    .Gridlines = True
    .FullRowSelect = True
    .HideColumnHeaders = False
    .LabelEdit = 1
    .ListItems(1).Selected = False ' on désélectionne la première ligne
     Set .SelectedItem = Nothing
End With
End Sub

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
12
Affichages
249
  • Question Question
Microsoft 365 Rechercher date
Réponses
5
Affichages
175
Réponses
5
Affichages
244
  • Question Question
Microsoft 365 format date
Réponses
3
Affichages
165
Réponses
5
Affichages
183
  • Question Question
XL 2016 liste
Réponses
10
Affichages
301
Retour