Comment trier par odre croissant dans une comboBox

Résolu/Fermé
Flow - 16 févr. 2016 à 16:53
 Flow - 16 févr. 2016 à 19:29
Bonjour à tous,

J'ai fais un programme qui me donne les coordonnées de chaque client selon le nombre de jours avant la prochaine maintenance, j'ai une question car je n'arrive pas a trier dans la comboBox mes chiffres par ordre croissant.


Pourriez-vous m'aidez svp ?

Merci,

1 réponse

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
16 févr. 2016 à 17:09
Bonjour,

voir ceci:

https://excel.developpez.com/faq/?page=OleObject#TriAlphaComboBox

Sub TriAlpha_ComboBox()
    Dim i As Integer, j As Integer
    Dim strTemp As String
 'Supprime le contenu du ComboBox
  ComboBox1.Clear
    'Alimente le ComboBox
   ComboBox1.List() = Array("5", "2", "4", "3", "1")
  'Tri le contenu du ComboBox par ordre alphabétique
    With ComboBox1
        For i = 0 To .ListCount - 1
            For j = 0 To .ListCount - 1
                If .List(i) < .List(j) Then
                    strTemp = .List(i)
                    .List(i) = .List(j)
                    .List(j) = strTemp
                End If
            Next j
        Next i
    End With
End Sub

0
Merci énormement, cela fonctionne parfaitement.

j'ai une dernière petite question.

J'ai une textbox dans laquelle la date s'affiche comme ceci : j/m/aaaa (exemple: 3/9/2016)

Y a t-il un moyen de l'afficher sous le,format : jj-mm-aaaa (exemple: 03 Septembre 2016) ?

Merci encore,
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
16 févr. 2016 à 18:03
Comme ceci:



Dim date_test As Date
 date_test = Now()
TextBox1.Text = WorksheetFunction.Proper(Format(date_test, "dddd d mmmm yyyy"))


@+ Le Pivert
0
J'ai effectué le code ci-dessous, cela correspond à ma TextBox6 :

Private Sub TextBox6_Change()
TextBox6.Text = WorksheetFunction.Proper(Format(TextBox6.Text, "dddd d mmm yyyy"))
End Sub

Cependant la date est faussée, une maintenance est censée etre effectuée dans 19 jours, et cela m'affiche le Vendredi 3 Juin 2016, comme si un décalage de base était pris en compte.

Auriez-vous une idée d'ou cela pourrait venir ?

Merci encore;
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
16 févr. 2016 à 19:22
mettre ceci, quand vous cliquez dans la TextBox la date s'actualise:

Private Sub TextBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
TextBox1.Text = WorksheetFunction.Proper(Format(TextBox1.Text, "dddd d mmm yyyy"))
End Sub
0
C'est parfait, merci énormément, je pense que vous êtes le créateur du VBA ^^

Bonne soirée
0