Autres (RESOLU)USF comparer des dates d'un textbox et une cellule

chaelie2015

XLDnaute Accro
Bonsoir Forum
Je souhaite faire ce qui suit :
1.chercher la dernière date d'un NOM saisi dans cmbNom dans le tableau .
2. une fois trouvé la date, comparer cette dernière avec la date saisie dans txtDate_départ
3. afficher résultat dans txtInfodate :
3.1. si date trouvé est sup a txtDate_départ alors afficher dans txtInfodate: NOM rentrera le ( date trouvé)
3.2. si date trouvé est inf à txtDate_départ alors afficher dans txtInfodate : Nom est libre.

exemple :
je sélectionne dans le cmbNom = Nom 01
après je saisi une date dans le txtDate_départ = 15/02/2022
donc j'aurai dans txtInfodate : Nom 01 rentrera le 20/02/2022.
merci
 

Pièces jointes

  • CHARLIE COMPARAISON DES DATES USF.xlsm
    14.6 KB · Affichages: 13
Solution
Bonsoir.
Comme ça ? :
VB:
Option Explicit
Private TNoms(), TDatRet(), DatRet As Date, DatDép As Date
Private Sub UserForm_Initialize()
   txtNow.Value = "On est : " & Format(DateValue(Now), "dddd dd/mm/yyyy")
   TNoms = Feuil1.[B2].Resize(Feuil1.[B1000000].End(xlUp).Row - 1).Value
   TDatRet = Feuil1.[D2].Resize(UBound(TNoms, 1)).Value
   End Sub
Private Sub cmbNom_Change()
   Dim L&
   DatRet = 0
   For L = 1 To UBound(TNoms, 1)
      If TNoms(L, 1) = cmbNom.Text Then
         If DatRet < TDatRet(L, 1) Then DatRet = TDatRet(L, 1)
         End If
      Next L
   End Sub
Private Sub txtDate_départ_Change()
   On Error Resume Next
   DatDép = CDate(txtDate_départ.Text)
   If Err Then Exit Sub
   If DatRet >= DatDép Then
      txtInfodate.Text =...

BrunoM45

XLDnaute Barbatruc
Bonsoir Chaelie2015,

J'ai remarqué que vous avez posté votre message sur un autre forum Excel.

La pratique du cross posting est très mal perçue sur Internet car les membres qui vont passer du temps sur votre problème risquent de le faire pour rien si vous obtenez une réponse par ailleurs dont ils n'ont pas connaissance.

Merci de choisir un forum pour votre question et de supprimer votre message dans un des forums concernés.

Profitez en pour relire la charte dans laquelle il est expliqué que cette pratique n'est pas admise sur XLD.

Bonne journée
 

Dranreb

XLDnaute Barbatruc
Bonsoir.
Comme ça ? :
VB:
Option Explicit
Private TNoms(), TDatRet(), DatRet As Date, DatDép As Date
Private Sub UserForm_Initialize()
   txtNow.Value = "On est : " & Format(DateValue(Now), "dddd dd/mm/yyyy")
   TNoms = Feuil1.[B2].Resize(Feuil1.[B1000000].End(xlUp).Row - 1).Value
   TDatRet = Feuil1.[D2].Resize(UBound(TNoms, 1)).Value
   End Sub
Private Sub cmbNom_Change()
   Dim L&
   DatRet = 0
   For L = 1 To UBound(TNoms, 1)
      If TNoms(L, 1) = cmbNom.Text Then
         If DatRet < TDatRet(L, 1) Then DatRet = TDatRet(L, 1)
         End If
      Next L
   End Sub
Private Sub txtDate_départ_Change()
   On Error Resume Next
   DatDép = CDate(txtDate_départ.Text)
   If Err Then Exit Sub
   If DatRet >= DatDép Then
      txtInfodate.Text = cmbNom.Text & " rentrera le " & DatRet
   Else
      txtInfodate.Text = cmbNom.Text & " est libre"
      End If
   End Sub
 

chaelie2015

XLDnaute Accro
Bonsoir.
Comme ça ? :
VB:
Option Explicit
Private TNoms(), TDatRet(), DatRet As Date, DatDép As Date
Private Sub UserForm_Initialize()
   txtNow.Value = "On est : " & Format(DateValue(Now), "dddd dd/mm/yyyy")
   TNoms = Feuil1.[B2].Resize(Feuil1.[B1000000].End(xlUp).Row - 1).Value
   TDatRet = Feuil1.[D2].Resize(UBound(TNoms, 1)).Value
   End Sub
Private Sub cmbNom_Change()
   Dim L&
   DatRet = 0
   For L = 1 To UBound(TNoms, 1)
      If TNoms(L, 1) = cmbNom.Text Then
         If DatRet < TDatRet(L, 1) Then DatRet = TDatRet(L, 1)
         End If
      Next L
   End Sub
Private Sub txtDate_départ_Change()
   On Error Resume Next
   DatDép = CDate(txtDate_départ.Text)
   If Err Then Exit Sub
   If DatRet >= DatDép Then
      txtInfodate.Text = cmbNom.Text & " rentrera le " & DatRet
   Else
      txtInfodate.Text = cmbNom.Text & " est libre"
      End If
   End Sub
Bonsoir BERNARD
Merci pour la réponse ' c'est parfait.
Bonne nuit.
a+
 

Discussions similaires

Statistiques des forums

Discussions
299 847
Messages
1 979 561
Membres
206 772
dernier inscrit
Checopa