Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Classement de la date la plus proche à la plus éloignée dans userform

  • Initiateur de la discussion Initiateur de la discussion aziz
  • Date de début Date de début

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 !

aziz

XLDnaute Occasionnel
Bonsoir à tous et au forum,
Je souhaiterai faire afficher dans mon userform
le nom, le prénom, le Tel, date prévionnelle de réunion et dans combien de jours
ceci classer de la date la plus proche à la plus éloigner.
Merci pour votre aide.
 

Pièces jointes

Re : Classement de la date la plus proche à la plus éloignée dans userform

Bonjour.
Voir déjà les commentaires guides d'utilisation dans le module de classe TableIndex.
En dehors de cela ce ne sont que des transferts d'éléments de tableaux. Je vous propose d'essayer, à partir de ces quelques indications, de mettre vous même des commentaires. Un "?" aux instructions pour lesquelles vos efforts à essayer de comprendre seront restés vains. Je corrigerai. J'espère que ce sera plus profitable que des commentaires mis par moi, qui resteront à moitié incompréhensibles en plus du code qui le demeurera totalement !
 
Dernière édition:
Re : Classement de la date la plus proche à la plus éloignée dans userform

En partant sur une table de numéros de lignes préfiltrée selon ce critère :
VB:
Private Sub UserForm_Activate()
Dim Te(), Ts(), Le&, Ls&, C&, TLgnFlt() As Long
'mettre mon user form en pleine écran
Me.StartUpPosition = 3
Me.Width = Application.Width
Me.Height = Application.Height
Me.Left = 0
Me.Top = 0
Te = Feuil1.[A3].Resize(Feuil1.[A60000].End(xlUp).Row - 2, 10).Value ' Affecte au tableau Te la valeur de la plage _
   commençant à la cellule A3 de la feuille Excel représenté par l'objet Worksheet nommé Feuil1 dans la rubrique _
   Microsoft Excel Objets du projet VBA, pour un nombre de ligne égal au numéro de la dernière cellule non vide au _
   dessus de la A60000 diminué de 2 (en effet 2 lignes sont sautées quand on commence à la 3), et pour 10 colonnes.
ReDim TLgnFlt(1 To UBound(Te))
For Le = 1 To UBound(Te)
   If Not IsEmpty(Te(Le, 9)) Then Ls = Ls + 1: TLgnFlt(Ls) = Le
   Next Le
ReDim Preserve TLgnFlt(1 To Ls)
ReDim Ts(1 To Ls, 1 To 5)
With New TableIndex
   .Réinit TLgnFlt
   While .Actif: .BInfA = Te(.B, 10) < Te(.A, 10): Wend ' Voir plus haut ce que content Te
   Ls = 0
   .Parcourir
   While .Actif: Le = .Suivant: Ls = Ls + 1: ' Voir module de classe TableIndex
      For C = 1 To 5: Ts(Ls, C) = Te(Le, Choose(C, 2, 3, 7, 9, 10))
      Next C: Wend: End With
Me.ListBox1.List = Ts
End Sub
 
- 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
5
Affichages
378
  • Question Question
Microsoft 365 Rechercher date
Réponses
5
Affichages
210
Réponses
15
Affichages
650
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…