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

Format des dates dans ListBox1 en "jjjj jj mmm"

Webperegrino

XLDnaute Impliqué
Supporter XLD
Bonsoir Le Forum,
Pourriez-vous me renseigner sur le bon affichage de ma ListBox1 dont la macro est la suivante :

(elle fonctionne bien mais affiche 03/04/2013 etc... : j'aimerais la voir afficher mercredi 3 juillet, etc...)

VB:
Private Sub TextBox1_Change() 'Dates
   Me.ListBox1.Clear
   For Each c In [Dates]
     If UCase(c) Like UCase(Me.TextBox1) & "*" Then
         Me.ListBox1.AddItem c
    End If
  Next c
End Sub

Private Sub ListBox1_Click()
  ActiveCell = Me.ListBox1
  Unload Me
End Sub
Private Sub UserForm_Initialize()
  Me.ListBox1.List = [Dates].Value
End Sub

J'ai bien essayé ceci mais sans résultat satisfaisant :

VB:
Private Sub TextBox1_Change() 'Dates
   Me.ListBox1.Clear
   For Each c In [Dates]
     If UCase(c) Like UCase(Me.TextBox1) & "*" Then
         Me.ListBox1.AddItem c
         
'Dates.Value = Format(Dates.Value, "dddd dd mmmm")
'Me.ListBox1.AddItem Format(c, "jjjj jj mmm")
'Me.ListBox1.AddItem Format(c, "dddd dd mmmm")
'ListBox1 = Format(ListBox1, "dddd dd mmmm")

    End If
  Next c
End Sub

Private Sub ListBox1_Click()
  ActiveCell = Me.ListBox1
  Unload Me
End Sub
Private Sub UserForm_Initialize()
  Me.ListBox1.List = [Dates].Value
 ' ListBox1 = Format(ListBox1, "dddd dd mmmm")
End Sub

Merci à celui ou celle qui me viendra en aide,
Bonne soirée
Webperegrino
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Format des dates dans ListBox1 en "jjjj jj mmm"

Bonjour,

ceci fonctionne chez moi, la cellule active contenant une date...
Code:
Dim c As Range
Set c = ActiveCell
ListBox1.AddItem Format(c, "dddd d mmmm")

devrait fonctionner sans souci dans une boucle....

bonne journée
@+
 

ChTi160

XLDnaute Barbatruc
Re : Format des dates dans ListBox1 en "jjjj jj mmm"

Bonjour
Bonjour Pierrot
Bonjour le Forum

je ne vois pas pourquoi tu utilises:
VB:
 If UCase(c) Like UCase(Me.TextBox1) & "*" Then
la fonction """UCase()"""renvoyant une chaine de caractères en majuscule donc pas besoin dans ton cas avec des dates.
sinon la proposition de Pierrot fait ce que tu demandes.
VB:
ListBox1.AddItem Format(c, "dddd d mmmm")
il faudrait peut être un petit fichier exemple pour pouvoir tester.
pour pouvoir adapter la réponse
exemple:
VB:
ListBox1.AddItem Format(CDate(c), "dddd d mmmm")
Bonne journée
Amicalement
Jean Marie
 

Pierrot93

XLDnaute Barbatruc
Re : Format des dates dans ListBox1 en "jjjj jj mmm"

Re, bonjour Jean-Marie

A noter également, pas sûr que le choix de l'événement "TextBox1_Change" soit le plus judicieux dans ce cas.... perso j'alimenterais plutôt ma "listbox" à la sortie.... A voir selon ton projet...
 

Webperegrino

XLDnaute Impliqué
Supporter XLD
Re : Format des dates dans ListBox1 en "jjjj jj mmm"

Bonsoir Le Forum,
Bonsoir Jean-Marie, Bonsoir Pierrot,
C'est très aimable de me proposer ces solutions et propositions de corrections.
Le copier-coller de macro-commandes, c'est bien, mais que c'est complexe surtout quand j'avance à petits pas.
Mais... je les comprends de mieux en mieux et je réussis à faire quelques petites merveilles, grâce à vous tous sur le Forum.
Soyez-en remerciés !
Je m'en vais de ce pas appliquer vos deux propositions : encore merci.
Bien cordialement,
Webperegrino
 

Discussions similaires

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