Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/01/2012, 13h07   #1
Membre actif
 
Inscription : janvier 2007
Messages : 915
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 915
Points : 185
Points : 185
Par défaut Tri Dates variable tableau

Bonjour, je n'arrive pas à trier par ordre croissant des dates placées dans une variable tableau de cette manière :
Code :
1
2
3
4
5
Sub test()
Dim VariableDates(3) As Date
VariableDates(0) = "12/09/2011"
VariableDates(1) = "20/03/2004"
VariableDates(2) = "04/12/2011"
Je voudrais faire une fonction qui me tri les dates par ordres croissant.
J'ai voulu adapter cette fonction d'un ancien topic (le miens) http://www.developpez.net/forums/d84...iable-tableau/
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Function tabTrie(maVart)
     Dim Debut As Integer, Fin As Integer
      Dim i As Integer, j As Integer
       Dim temp
         Debut = LBound(maVart)
          Fin = UBound(maVart)
           For i = Debut To Fin - 1
               For j = i To Fin
                 If maVart(i) > maVart(j) Then
              temp = maVart(j)
           maVart(j) = maVart(i)
         maVart(i) = temp
       End If
     Next j
   Next i
 tabTrie = maVart
End Function
Sinon je pensais bidouiller et placer mes dates sur une feuille et trier avec excel... mais c'est pas très pro...

Merci de votre aide.
jojo86 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 14h47   #2
Membre Expert
 
Inscription : août 2006
Messages : 1 435
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 1 435
Points : 1 756
Points : 1 756
Bonjour,
Il me semble que
Code :
1
2
 
For j = i To Fin - 1
est exact. Il manque donc le -1
helas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 15h27   #3
Membre actif
 
Inscription : janvier 2007
Messages : 915
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 915
Points : 185
Points : 185
Bien vu!
Mais j'ai une date qui ressort en 00:00:00
jojo86 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/01/2012, 19h25   #4
Membre Expert
 
Inscription : août 2006
Messages : 1 435
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 1 435
Points : 1 756
Points : 1 756
Bonsoir,
Normal, le tableau comprend 4 valeurs:
Dim VariableDates(3) crée VariableDates(0),VariableDates(1),VariableDates(2),VariableDates(3)
Comme il n'y a que 3 dates de déclarées, la quatrième prend la valeur 0, dans l'exemple c'est VariableDates(3) = 0
helas est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h56.


 
 
 
 
Partenaires

Hébergement Web