Mise en forme dans userform

Résolu/Fermé
Signaler
Messages postés
140
Date d'inscription
lundi 9 juin 2008
Statut
Membre
Dernière intervention
18 avril 2012
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Bonjour
je travaille sur excel 2007
je le probleme suivant.
j'ai un userform dans lequel j'ai une listbox alimentee par des donnees d'une feuille.
j'ai bien le resultat escompter, sans mise en forme, je souhaiterais mettre ces donnees sous forme d'un tableau.
merci pour vos conseil
cris

voici le code que j'ai.



Option Explicit

Const LIGNE_DEBUT_LISTE As Integer = 2
Const LIGNE_FIN_LISTE As Integer = 70 'est la limite à modifier en fonction de la longueur de la liste du tableau Excel

Const COLONNE_Nº As Integer = 1
Const COLONNE_PRENOM As Integer = 2
Const COLONNE_Nom As Integer = 3
Const COLONNE_datenaissance As Integer = 4

Dim iLigne As Integer


Private Sub Userform_Initialize()
With ThisWorkbook.Sheets(3) 'ou : With ThisWorkbook.Sheets("BD1")
ListBox1.ColumnCount = 3
ListBox1.ColumnWidths = "20;60;60"
For iLigne = LIGNE_DEBUT_LISTE To LIGNE_FIN_LISTE
ListBox1.AddItem
ListBox1.List(iLigne - LIGNE_DEBUT_LISTE, 0) = .Cells(iLigne, COLONNE_Nº).Value
ListBox1.List(iLigne - LIGNE_DEBUT_LISTE, 1) = .Cells(iLigne, COLONNE_PRENOM).Value
ListBox1.List(iLigne - LIGNE_DEBUT_LISTE, 2) = .Cells(iLigne, COLONNE_Nom).Value
Next iLigne
End With
ListBox1.Selected(0) = True
End Sub

Private Sub ListBox1_Click()
For iLigne = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(iLigne) = True Then
datenaissance ThisWorkbook.Sheets(3).Cells(iLigne + LIGNE_DEBUT_LISTE, COLONNE_datenaissance).Value 'datenaissance ... au lieu de : TextBox_datenaissance = ... car le TextBoax se nomme : datenaissance
End If
Next iLigne
End Sub
Private Function fctAge(ByVal DN As Variant) As String
If IsDate(DN) Then
fctAge = CStr(DateDiff("yyyy", Me.datenaissance.Value, Date))
Else
fctAge = ""
End If
End Function
Private Sub datenaissance_Change()
If IsDate(Me.datenaissance.Value) Then Me.Age.Value = fctAge(Me.datenaissance.Value)
End Sub

1 réponse

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
240
Bonjour,
encore une fois ouverture dans la section VB6 et non VBA (celle correspondant à ton outil de développement) ?
Et ce : en dépit du fait qu'il a déjà fallu déplacer tes autres discussions ?
==>>
je sais que tu vas m'en vouloir, mais, là !!!! ===>> débrouille-toi (c'est vraiment usant) !
D E S O L E, mais voilà !


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient