Bonjour,
Je souhaite faire un petit fichier pour trié une liste , la classer et faire un calcul en fonction du solde de départ, mais je n'arrive pas à m'en sortire!
Je vous joint un exemple pour plus d'explication!
Je reste à votre disposition!
Version imprimable
Bonjour,
Je souhaite faire un petit fichier pour trié une liste , la classer et faire un calcul en fonction du solde de départ, mais je n'arrive pas à m'en sortire!
Je vous joint un exemple pour plus d'explication!
Je reste à votre disposition!
Bonjour,
Je pense avoir trouver la solution, mais je me trouve sur un problème, pour mon exemple je charge les dates dans un combobox mais voila elle ne se classe pas comme je le souhaite. Voici:
il me donne le résultat suivant :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 Option Explicit Sub ChargeDate() Dim c As Range Dim strTemp As String Dim Der_Ligne As Integer Dim feuiL As Variant Set Dico = CreateObject("Scripting.Dictionary") feuiL = ActiveSheet.Name Der_Ligne = Sheets(feuiL).Range("A65956").End(xlUp).Row + 1 'Supprime les données existantes dans le ComboBox DT.Clear For Each c In Range("c2:c" & Der_Ligne) If c(1, 2) = "¨" Then Combobox.Value = c.Value If Combobox.ListIndex = -1 Then Combobox.AddItem c.Value End If Next c Combobox.ListIndex = -1 'Tri le contenu du ComboBox par ordre With Combobox 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
09/08/2014
10/08/2014
11/09/2014 :mrgreen:
12/08/2014
30/09/2014 :mrgreen:
31/08/2014
il classe donc sur les 2 premiers chiffres
Avez vous une solution?
Re
Donc voici la solution en fin de code pour le classement il fallait considérer les date du combobox comme des variables date
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 Sub ChargeDate() Dim Dico As Object Dim c As Range Dim strTemp As String Dim Der_Ligne As Integer Dim feuiL As Variant Dim i As Integer, j As Integer Dim e As Date Dim r As Date Set Dico = CreateObject("Scripting.Dictionary") feuiL = ActiveSheet.Name Der_Ligne = Sheets(feuiL).Range("A65956").End(xlUp).Row + 1 'Supprime les données existantes dans le ComboBox ComboBox.Clear For Each c In Range("c2:c" & Der_Ligne) If c(1, 2) = "¨" Then ComboBox.Value = c.Value If ComboBox.ListIndex = -1 Then ComboBox.AddItem c.Value End If Next c ComboBox.ListIndex = -1 'Tri le contenu du ComboBox par ordre With ComboBox For i = 0 To .ListCount - 1 For j = 0 To .ListCount - 1 e = .List(i) r = .List(j) If e < r Then strTemp = .List(i) .List(i) = .List(j) .List(j) = strTemp End If Next j Next i End With End Sub