Partager via

Format TextBox, ComboBox

Anonyme
2013-10-28T07:59:04+00:00

Bonjour,

J'ai toujours des problèmes avec le formatage des TextBox et ComboBox.

Voici mes doutes:

1-J'aimerais voir seulement les 4 chiffres de l'année dans la ComboBox1. Si je format le combo box pour arriver à ce format, les textbox me donnent l'année 1905.

Si dans la ComboBox1 je ne mets pas de format, ça marcha bien mais au lieu d'avoir les 4 chiffres de l'année, j'ai la date complète.

2-J'ai calculé les jours féries à partir du 31 décembre moins x jours. Je ne sais pas s'il y a un moyen plus correct de le faire.

J'envoi ci-joint le fichier "jours feries" pour me faire mieux comprendre.

Je vous remercie pour votre aide.

Cordialement,

http://cjoint.com/?CJCi6CKvgag

A. Costa

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

Réponse acceptée par l’auteur de la question

DanielCo 107.7K Points de réputation
2013-10-28T10:14:35+00:00

Bonjour,

Si tu écris "Year(CboAnnee)", CboAnnee représentant déjà l'année, tu obtiens l'année du jour 2013 (par exemple) qui correspond au 05/07/1905. Tu obtiens donc "1905". Utilise le code suivant :

Private Sub CboAnnee_Change()

CboAnnee.RowSource = Empty

Dim A As Integer

For A = -1 To 3

' Me.CboAnnee.AddItem DateSerial(Year(Date) + A, 1, 1)

Me.CboAnnee.AddItem Format(DateSerial(Year(Date) + A, 1, 1), "yyyy")

Next

Me.TextBox1 = DateSerial(CboAnnee + 0, 1, 1)

Me.TextBox2 = DateSerial(CboAnnee + 1, 1, 0)

Me.TextBox1 = Format(CDate(Me.TextBox1), "dd/mm/yyyy")

Me.TextBox2 = Format(CDate(Me.TextBox2), "dd/mm/yyyy")

Me.TextBox3 = Format(CDate(Me.TextBox2) - 250, "dd/mm/yyyy")

Me.TextBox4 = Format(CDate(Me.TextBox2) - 244, "dd/mm/yyyy")

Me.TextBox5 = Format(CDate(Me.TextBox2) - 204, "dd/mm/yyyy")

Me.TextBox6 = Format(CDate(Me.TextBox2) - 138, "dd/mm/yyyy")

End Sub

Cordialement.

Daniel

Cette réponse a-t-elle été utile ?

0 commentaires Aucun commentaire

Réponse acceptée par l’auteur de la question

Anonyme
2013-10-28T10:06:23+00:00

Bonjour,

Dans la procédure : Private Sub CboAnnee_Change()

Modifie ces 2 lignes de code :

Me.TextBox1 = DateSerial(Year(CboAnnee) + 0, 1, 1)

Me.TextBox2 = DateSerial(Year(CboAnnee) + 1, 1, 0)

Pour :

Me.TextBox1 = DateSerial(CboAnnee + 0, 1, 1)

Me.TextBox2 = DateSerial(CboAnnee + 1, 1, 0)

Cette réponse a-t-elle été utile ?

0 commentaires Aucun commentaire

2 réponses supplémentaires

  1. Anonyme
    2013-10-28T10:26:36+00:00

    Bonjour et merci beaucoup,

    A. Costa

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2013-10-28T10:26:24+00:00

    Bonjour et merci beaucoup,

    A. Costa

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire