Tri d'heure dans combox oui mais doublons

Defcom60

XLDnaute Junior
Bonjour a tous

malgré les recherche sur votre excellent forum j'ai un petit souci.

j'ai trouver un fonction qui tri les doublons dans une combox mais il me reste encore des doublons qui sont du au seconde des heures qui sont trié.
Je voudrais supprimer c'est doublons dans le combox.


pour plus de compréhension ci joint un exemple.


Merci de votre aide.
 

Pièces jointes

  • Exemple tri.xls
    30.5 KB · Affichages: 55
  • Exemple tri.xls
    30.5 KB · Affichages: 55
  • Exemple tri.xls
    30.5 KB · Affichages: 52

skoobi

XLDnaute Barbatruc
Re : Tri d'heure dans combox oui mais doublons

Bonjour Defcom60,

je te propose un autre code:

Code:
Private Sub CommandButton1_Click()
 Dim Col_Nom As Collection
          Set Col_Nom = New Collection
  
    ComboBox1.Clear
    ComboBox1.ColumnCount = 1 'on met deux colonnes au combo
   
With Worksheets("feuil1")
   Derlgn = .Range("A2").End(xlDown).Row 'ici on detecte la derniere ligne non vide
   For Each cel In .Range(.Cells(2, 2), .Cells(Derlgn, 2)) 'on rempli un tablo temporaire avec les données du tableau defini
       On Error Resume Next
       Col_Nom.Add Format(cel.Value, "hh:mm"), CStr(Format(cel.Value, "hh:mm"))
       On Error GoTo 0
   Next
End With
For i = 1 To Col_Nom.Count
   ComboBox1.AddItem Col_Nom(i)  'on colle dans la premiere colonne
Next
End Sub

bon test :)
 

jp14

XLDnaute Barbatruc
Re : Tri d'heure dans combox oui mais doublons

Bonjour

Une autre approche en utilisant des fonctions
Code:
Private Sub CommandButton1_Click()
 Dim Col_Nom As Collection
Set Col_Nom = New Collection
Dim heure As Byte
Dim minute1 As Byte
Dim heuremin As String
    ComboBox1.Clear
    ComboBox1.ColumnCount = 1 'on met deux colonnes au combo
   
With Worksheets("feuil1")
       Derlgn = .Range("A2").End(xlDown).Row 'ici on detecte la derniere ligne non vide
       Tabtemp = .Range(.Cells(2, 2), .Cells(Derlgn, 8)) 'on rempli un tablo temporaire avec les données du tableau defini
End With

 For L = 1 To UBound(Tabtemp, 1)
    heure = Hour(Tabtemp(L, 1))
    minute1 = minute(Tabtemp(L, 1))
    heuremin = heure & ":" & minute1
 On Error Resume Next
             Col_Nom.Add heuremin, heuremin
    If Err.Number = 0 Then
      With ComboBox1
                 .AddItem Format(CDate(Tabtemp(L, 1)), "hh:mm")  'on colle dans la premiere colonne
      End With
       
   End If
   On Error GoTo 0
   Err.Clear
   Next

End Sub
{

JP

PS La liste n'est pas triée, par contre il n'y a pas de doublons.
 
Dernière édition:

Defcom60

XLDnaute Junior
Re : Tri d'heure dans combox oui mais doublons

merci pour vous solution qui fonctionne nikel.

j'aimerais ajouter un autre petite fonction.
je voudrais filtré les heures a 5 minutes prés.
c'est a dire par exemple 7h01:20 donne 7h00 et 7h06 donne 7H05.




merci d'avance
 

jp14

XLDnaute Barbatruc
Re : Tri d'heure dans combox oui mais doublons

Bonjour (re)

Il suffit de modifier la macro en rajoutant
dim a as byte

heure = Hour(Tabtemp(L, 1))

minute1 = Minute(Tabtemp(L, 1))
a = minute1 Mod 10
If a > 0 And a < 5 Then
minute1 = minute1 - a
ElseIf a > 5 And a <= 9 Then
minute1 = minute1 - a + 5
End If
If a > 5 And a < 9 Then

End If

JP
 

Defcom60

XLDnaute Junior
Re : Tri d'heure dans combox oui mais doublons

re bonjour,


Encore un petit question dans mon combobox j'ai les valeur suivante 07:00 07:30 08:00
je voudrais quand je selectionne par exemple 07:30 récupérer la valeur suivante dans un label c'est a dire 08:00

j'arrive a recuperer la valeur selectionné mais pas la suivante.

Merci.
 

jp14

XLDnaute Barbatruc
Re : Tri d'heure dans combox oui mais doublons

Bonjour

re bonjour,


Encore un petit question dans mon combobox j'ai les valeur suivante 07:00 07:30 08:00
je voudrais quand je selectionne par exemple 07:30 récupérer la valeur suivante dans un label c'est a dire 08:00

j'arrive a recuperer la valeur selectionné mais pas la suivante.

Merci.

ComboBox1.List(ComboBox1.ListIndex + 1, 0), permet de récupérer la valeur suivante. Il faut vérifier si cette valeur existe.

JP
 

Discussions similaires

Réponses
15
Affichages
608
Réponses
14
Affichages
334

Statistiques des forums

Discussions
312 779
Messages
2 092 045
Membres
105 167
dernier inscrit
JulJon2004