Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
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).
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
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
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
- 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