XL 2016 Date en majuscule via userform (résolu)

Cougar

XLDnaute Impliqué
Bonjour le forum,

J'aimerai que la date soit inscrite dans la cellule en majuscule (ex. : 2020-09-04 = 2020-SEP-04) ceci avec l'aide d'un userform (voir le fichier joint).

Merci
 

Pièces jointes

  • Test Date.xlsm
    15.5 KB · Affichages: 16

patricktoulon

XLDnaute Barbatruc
re
bonjour
haie!!haie!!haie!! M12
lolote83 même punition
TextBox2.Value = UCase(Format(TextBox2.Value, "yyyy-mmm-dd"))
vous formatez une valeur string en date vous ?
ça va pas marcher sur tout le PCs
TextBox2.Value = UCase(Format(cdate(TextBox2.Value), "yyyy-mmm-dd"))

j'ajouterais qu'avant de formater il faudrait peut être vérifier la validité de la date (j'disca moi....)


VB:
Private Sub TextBox2_Change()
    With TextBox2
        If Len(.Value) = 10 And IsDate(.Value) Then
            TextBox2.Value = UCase(Format(CDate(TextBox2.Value), "yyyy-MMM-dd"))
        End If
    End With
End Sub

NE PAS OUBLIER QUE POUR TRANSMETRE CETTE DATE A UNE CELLULE PAR LA SUITE IL FAUDRA ALORS UTILISER DATEVALUE(TEXTBOX2)et reformater la cellule comme le textbox sinon c'est du string
en ce qui concerne ton userform
la fonction date de vba n'a pas besoins d'etre reformatée ;)
VB:
Private Sub CommandButton1_Click()
            'Range("B6").Select
            Range("B6") = DateValue(TextBox2.Value)
             Range("B6").NumberFormat = UCase("yyyy-mmm-dd")'??????????????????????
End Sub

Private Sub UserForm_Initialize()
Dim Articles As Variant
    'TextBox2 = Date
    'TextBox2 = CDate(TextBox2.Value)
    TextBox2.Value = Format(Date, "yyyy-mmm-dd")
End Sub
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
re
le problème si tu modifie(ucase) le value ca n'est plus une date mais un string dans la cellule
et on ne peut pas faire ucase("YYYY-MMM-DD") ça sert a rien
les formats de date sont fixes
c'est donc un choix que tu dois faire
soit tu l'a en maj et c'est pas une date donc les calculs entre cellule NIET!!! et il faut remanier le initialise dans l'usf
soit pas en maj et tout est date et donc utilisable comme tel dans le fichier
 

patricktoulon

XLDnaute Barbatruc
donc en string
dans ton userform
VB:
Private Sub CommandButton1_Click()
    Range("B6") = TextBox2.Text
End Sub

Private Sub UserForm_Initialize()
    Dim Articles As Variant, arDate
    arDate = Array(Year(Date), Left(Format(Date, "mmm"), 3), Format(Date, "dd"))
    TextBox2 = UCase(Join(arDate, "-"))
End Sub
 

Discussions similaires

Réponses
10
Affichages
397