Trier les données par ordre croissant via UserForm

JMR150

XLDnaute Nouveau
Bonjour à tous,

Je souhaite améliorer mon fichier qui est une base de données à compléter via un UserForm. Je souhaiterais trier le N° de l'évènement (TextBox1) directement par ordre croissant.
Par exemple, si le N° de l'évènement rentré est le "9", il se placera dans le tableau au-dessus de la ligne qui comporte le N° d'évènement 11. Si je place le N° d'évènement 10, celui-ci se placera entre les N° d'évènements 9 et 11. Je ne sais pas si je suis assez claire. :confused:

J'en profite aussi pour poser une question qui paraît toute bête mais je n'y arrive tout simplement pas : :( . Comment faire pour que dans la TextBox1, le format soit en nombre, sans décimale ?

Merci d'avance pour vos réponses.
 

Pièces jointes

  • Clinique Montage - BdD .xls
    62.5 KB · Affichages: 148
Dernière édition:

sousou

XLDnaute Barbatruc
Re : Trier les données par ordre croissant via UserForm

Bonjour JMR
Peut-être tout simplement en ajoutant un tri à la fin de ta commande valider.

With Sheets("donnees")
.UsedRange.Sort key1:=.Columns(1), Header:=xlYes
End With
Pour la textbox1, elle est saisie par l'utilisateur est-ce que tu veux que la saisie de décimale soit interdite??
 

JMR150

XLDnaute Nouveau
Re : Trier les données par ordre croissant via UserForm

Bonjour JMR
Peut-être tout simplement en ajoutant un tri à la fin de ta commande valider.

With Sheets("donnees")
.UsedRange.Sort key1:=.Columns(1), Header:=xlYes
End With
Pour la textbox1, elle est saisie par l'utilisateur est-ce que tu veux que la saisie de décimale soit interdite??

Bonjour,

Merci pour la réponse.

En effet, je voudrais que la saisie de décimale soit interdite si possible.
 

sousou

XLDnaute Barbatruc
Re : Trier les données par ordre croissant via UserForm

bonjour
je te propose un controle de saisie sur la texbox1 .

Private Sub TextBox1_Change()
If IsNumeric(TextBox1) = False Then
TextBox1 = ""
Exit Sub
End If
TextBox1 = Int(TextBox1)
End Sub
 

laetitia90

XLDnaute Barbatruc
Re : Trier les données par ordre croissant via UserForm

bonjour JMR150 sousou

on peut egalement utiliser keypress

Code:
Private Sub TextBox1_KeyPress(ByVal K As MSForms.ReturnInteger)
  If Len(TextBox1) = 0 And InStr("123456789", Chr(K)) = 0 Then K = 0
  If Len(TextBox1) > 0 And InStr("0123456789", Chr(K)) = 0 Then K = 0
End Sub
 

Discussions similaires

Réponses
12
Affichages
494

Statistiques des forums

Discussions
312 207
Messages
2 086 234
Membres
103 162
dernier inscrit
fcfg