Problème de Date dans une TextBox

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 !

Excel-lent

XLDnaute Barbatruc
Bonjour à tous le monde,
(re-bonjour aux anciens qui me reconnaitrons)

Cela faisait longtemps que je ne venais plus ce forum, que je vivais sur mes acquis. Mais lasse de faire du sur-place, je me lance dans un nouveau chalenge.

Pour progresser, j'aurais besoin de votre aide.

Comme vous pouvez le voir ci-joint, j'ai une date en A1 sur l'onglet "page d'accueil".

Lorsque je clic sur le bouton, une UserForm s'ouvre. L'utilisateur doit saisir :
-> une date de début de période
-> une date de fin de période

Ces deux dates doivent absolument être dans le mois inscrit en A1, ou le mois précédent.

Bref, si en A1 la date est le 01/10/2013. L'utilisateur doit pouvoir saisir une date de début et de fin incluse entre le 01/09/2013 et le 31/10/2013

Mais voilà, ma macro ne fonctionne pas :-(

Je me suis aidé des nombreux fils traitant de ce sujet, mais malgré plusieurs heures de recherche, je ne parviens pas à trouver la solution.

Quelqu'un peut m'aider?

En effet, je le reconnait, actuellement ma macro ne gère pas le cas de figure suivant :
Si la date en A1 est : 01/01/2014

L'utilisateur doit pouvoir saisir comme date de début et de fin une date incluse entre le 01/12/2013 et le 31/01/2014

Avez-vous une idée concernant mon bug?

Merci d'avance pour le temps que vous passerez sur mon cas.

A bientôt
Excel-lent

Précision :
Si cela peut vous aider, en A1 je mettrais tout le temps des dates se trouvant le premier jour du mois.

01/10/2013
01/11/2013
01/12/2013
01/01/2014
...
01/10/2014
...
 

Pièces jointes

Dernière édition:
Re : Problème de Date dans une TextBox

En adaptant mon pb sur un fichier exemple, je constate que je me suis trompé :

Code:
       With Sheets("Page d'accueil")
           ' Test si la date de fin est bien supérieur ou égale à la date de début
           If CDate(TextBox3.Value) >= CDate(TextBox2.Value) Then MsgBox ("Date de fin inférieur à la date de début!")
           ' Test si le mois de la "date début" saisie est bien égale au mois inscrit en A1 ou égale au mois antérieur
           If Month(CDate(TextBox2.Value)) <> Month(.[A1]) Or Month(CDate(TextBox2.Value)) - 1 <> Month(.[A1]) Then
                    MsgBox ("Le mois de la date de Début est erronée")
                    Exit Sub
           End If
           ' Test si le mois de la "date fin" saisie est bien égale au mois inscrit en A1 ou égale au mois antérieur
           If Month(CDate(TextBox3.Value)) <> Month(.[A1]) Or Month(CDate(TextBox3.Value)) + 1 <> Month(.[A1]) Then
              MsgBox ("Le mois de la date de Fin est erronée")
              Exit Sub
           End If
           ' Test si l'année de la "date début" et "date fin" est bien égale à l'année saisie en A1
           If Year(CDate(TextBox2.Value)) <> Year(.[A1]) Or Year(CDate(TextBox3.Value)) <> Year(.[A1]) Then
              MsgBox ("L'année de la date de Début et/ou Fin est erronée")
              Exit Sub
           End If
       End With

If CDate(TextBox3.Value) >= CDate(TextBox2.Value) ...

Et non pas :
If CDate(TextBox3.Value) <= CDate(TextBox2.Value)...
Comme j'ai mis dans la pièce jointe tout à l'heure

PS : comme vous constatez, pendant que vous travaillez sur mon soucis, de mon côté j'essaye aussi de trouver
 
Re : Problème de Date dans une TextBox

Bonjour,

essaye peut être ceci :
Code:
Dim d As Date
d = Range("A1").Value
If CDate(TextBox2) < DateSerial(Year(d), Month(d) - 1, 1) Or CDate(TextBox2) > _
    DateSerial(Year(d), Month(d) + 1, 0) Then MsgBox "hors bornes"

bonne journée
@+
 
- 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

Discussions similaires

Réponses
3
Affichages
109
Réponses
3
Affichages
151
  • Question Question
Microsoft 365 Formule Outlook,
Réponses
8
Affichages
188
  • Question Question
Microsoft 365 Problème de date
Réponses
5
Affichages
162
Réponses
4
Affichages
341
Réponses
13
Affichages
233
Retour