XL 2016 calcul entre textbox

phil107

XLDnaute Nouveau
Bonjour je cherche de l'aide pour resoudre mon probleme
j'ai créé un formulaire dans lequel j'ai une textbox (TxtDateNaissance) , une seconde (TxtSaison) et une troisieme (TxtCategorie)
dans la TxtDateNaissance je rentre la date sous la forme jj/mm/yyyy (19/02/1967), dans la TxtSaison , la saison yyyy-yyyy (2020-2021) et je voudrais que dans la 3 eme TextBox (TxtCategorie) s'inscrive la categorie
si l'adherent à moins de 8 ans il est poussin
si l'adherent a entre 9 et 10 ans il est benjamin
si l'adherent a entre 11 et 12 ans il est Minime
si l'adherent a entre 13 et 14 ans il est Cadet
si l'adherent a entre 15 et 17 ans il est Junior
si l'adherent a entre 18 et 39 ans il est Senior
si l'adherent a40 et plus il est veteran
Merci pour votre aide
 

ChTi160

XLDnaute Barbatruc
Bonjour phil107
Bonjour JM
pour la saison
mais ca doit pas intéresser ! Lol

VB:
Private Sub UserForm_Initialize()
Me.TxtSaison.Text = Year(DateSerial(Year(Date) - 1, 9, 1)) & "-" & Year(Date)
End Sub
j'ai supprimé le reste #8 Lol
jean marie
 
Dernière édition:

JM27

XLDnaute Barbatruc
bonsoir
Si j'ai bien compris
avec :Me.TxtSaison.Text = Year(DateSerial(Year(Date) - 1, 9, 1)) & "-" & Year(Date)

A mon avis si tu travailles sur ton fichier en septembre 2020
donc l'année sera 2019-2020
Tu as besoin de modifier ton fichier en janvier 2021 (Création d'un adhérent en cours d'année) possible ?
et donc la tu vas avoir 2020-2021
je ne pense pas que cela soit bon
en faisant simple : pourquoi ne pas inscrire dans une cellule ( paramètres L2 par exemple) : 2020-2021
et charger la text box par cette valeur.
évidemment changer la cellule L1 pour la saison suivante :
Me.TxtSaison.Text =Sheets("Parametres").range ("L2")
 

Pièces jointes

  • Classeur2.xlsm
    40.4 KB · Affichages: 5
Dernière édition:

ChTi160

XLDnaute Barbatruc
Re
je pensais que le 31/12/Année en cours était la Limite Lol
je sais toujours pas de quelle activité il s'agit .
on pourrait peut être savoir de quand a quand dure cette activité on sait que ca commence en Septembre mais ca n'a pas de fin comme le Covid Lol
dommage Lol
j'en reste là
Jean marie
 
Dernière édition:

ChTi160

XLDnaute Barbatruc
Re
effectivement sert de référence pour déterminer l'âge.
une autre tentative Lol
VB:
Private Sub UserForm_Initialize()
Static RefAnnee As Integer
Dim Dte As Long
Dim Debut As Date
Dim Fin As Date
    Dte = CLng(Date) 'date du jour
Select Case True
         Case Dte >= CLng(DateSerial(Year(Dte), 9, 1)) And Dte <= CLng(DateSerial(Year(Dte), 12, 31))
Debut = CLng(DateSerial(Year(Dte), 9, 1))
      Fin = CLng(DateSerial(Year(Dte) + 1, 8, 31))
      RefAnnee = Year(CDate(Debut))
         Case Dte >= CLng(DateSerial(Year(Dte), 1, 1)) And Dte <= CLng(DateSerial(Year(Dte), 8, 31))
Debut = DateSerial(Year(Dte) - 1, 9, 1)
      Fin = DateSerial(Year(Dte), 8, 31)
      RefAnnee = Year(CDate(Debut))
End Select
Me.TxtSaison.Text = Year(Debut) & "-" & Year(Fin)
Me.TxtSaison.Tag = RefAnnee
End Sub
si on prend comme période du 1/9/2020 au 31/08/2021 pour l'exemple
jean marie
 
Dernière édition:

Discussions similaires

  • Question
Microsoft 365 Formule EXCEL
Réponses
6
Affichages
323

Statistiques des forums

Discussions
311 720
Messages
2 081 913
Membres
101 837
dernier inscrit
Ugo