Enregistrer une date jj/mm/yyyy sur le TS
Bonjour à tous,
Je n'arrive pas à trouver le code pour enregistrer une date au format date jj/mm/aaaa
J'ai essayé plein de code, rien n'y fait, mon userform enregistre bien les chiffres mais au format texte.
Dans ma procédure pour sauvegarder j'ai ça.
Ça affiche bien la date comme attendue, mais arrivée sur le TS, c'est en texte. :(
If TextBox_Date_MAJ <> "" Then
ThisWorkbook.Sheets("Honda").Range("BK" & NumLigne) = TextBox_Date_MAJ ' colonne BK date_maj
TextBox_Date_MAJ = Format(TextBox_Date_MAJ, "Short date")
End Ifpour formater les nombres, j'ai ça, et ça, ça fonctionne. (merci Alex020181 )
donc j'ai essayé de trouver la bonne façon d'écrire, mais je ne trouve pas.
ThisWorkbook.Sheets("Honda").Range("B" & NumLigne).NumberFormat = "#,##0"
ThisWorkbook.Sheets("Honda").Range("D" & NumLigne).NumberFormat = "#,##0.00"' ThisWorkbook.Sheets("Honda").Range("BK" & NumLigne).FormatDate = "dd/mm/yyyy"
' ThisWorkbook.Sheets("Honda").Range("BK" & NumLigne).FormatDate = "Short date"
Les dates se mettent à gauche, donc en texte. Celles à droite l'ont été car corrigées depuis le tableau. Les cellules sont au format date, bien sûr.
merci d'avance.
Salut,
Je travaille avec un format de date suisse jj.mm.aaaa.
Si je charge la date en A3 dans un UserForm et que je réutilise cette information pour la reporter sur une feuille, j'ai les deux résultats montrés ci-dessous si j'utilise ce code :
Range("a5") = CDate(TextBox1)
Range("a7") = TextBox1
Je présume que si tu as un format de date jj/mm/aaaa, tu auras le bon résultat en A5, ta date alignée à droite.
A constater que les deux informations en A5 et A7 sont des dates, réutilisables dans la colonne B.
Si ce n'est pas ça, montre moi ton fichier, de manière à ce que je voie comment tu travailles réellement.
Cordialement.
bonjour papicx, salut Yvouille,
si on n'utilise pas un calendrier, on peut faire des choses pour améliorer ce textbox pour s'assurer que son contenu est une date. C'est pourquoi j'ai ajouté une fonction personnalisée dans module1 qui traduit cette date en texte vers une date en valeur long (=nombre de jours depuis 1 janvier 1900) et on mettra cela dans le tag (comme une sorte de commentaire, sorte de Post-It) du textbox. La fonction contient aussi quelque fonctionnement, par exemple ";" = aujourd'hui, "-5" = aujourd'hui moins 5 jours, et d'autres si vous voulez.
Au moment où vous voulez coller votre date vers une feuille, vous collez le tag (qui est une date réelle ou "-" en cas d'erreur).
Bonjour Yvouille,
Je te remercie beaucoup. Je cherchais une chose hyper simple à mettre dans mon code et c'est ce qu'il fallait.
Dans mon formulaire AjouterHonda
J'ai juste ajouté le CDate dans la fonction du bouton Ajouter :
ActiveCell.Offset(0, 62) = CDate(TextBox_Date_MAJ) ' colonne BK date_majet pour mon formulaire ModifierHonda, je me suis souvenu que, dans la fonction d'enregistrement, Alex m'avait indiqué qu'il fallait multiplier par 1 les chiffres pour qu'ils soient enregistrés en nombre, ce qui donnait ça (par exemple) :
If TextBoxDPCHT€ <> "" Then
ThisWorkbook.Sheets("Honda").Range("D" & NumLigne) = TextBoxDPCHT€ * 1 ' colonne D Dernier Prix Connu DPC_HT_€ au format nombre !
End Ifj'ai juste ajouté le CDate également :
If TextBox_Date_MAJ <> "" Then
ThisWorkbook.Sheets("Honda").Range("BK" & NumLigne) = CDate(TextBox_Date_MAJ) ' colonne BK date_maj
End Ifet hop !
Les dates sont enfin enregistrées au format Date dans mon tableau !
Je suis content, vous ne pouvez pas imaginer ! :)
Merci Yvouille ! (et Merci Alex020181
Salut Papicx,
Je suis bien contant que ma solution "sans prise-de-tête ni complications inutiles'' te convienne bien.
Cordialement.