Bonjour,
La question est dans le titre.
Y'a-t-il une commande style Tableau().sort
J'ai un tableau dans une macro, et je voudrais qu'il soit trié par ordre alphabétique dans l'ordre des valeurs de l'index.
genre
Tableau(0)=Anne
Tableau(1)=Béatrice
Tableau(2)=Catherine
Tableau(3)=Sylvie
Merci
Domm
[Résolu][Basic] Tri variable tableau en ordre alphabetique
Modérateur : Vilains modOOs
Règles du forum
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
- Domm
- Membre lOOyal
- Messages : 44
- Inscription : 22 sept. 2006 19:52
- Localisation : Lille (59)
- Contact :
[Résolu][Basic] Tri variable tableau en ordre alphabetique
Dernière modification par Domm le 30 mai 2008 08:58, modifié 1 fois.
Oo 3.0
Win xp Pro sp2
Access 2000
Projet de gestionnaire de Contacts d'après le carnet d'adresses : http://user.services.openoffice.org/fr/ ... 058#p60058
Win xp Pro sp2
Access 2000
Projet de gestionnaire de Contacts d'après le carnet d'adresses : http://user.services.openoffice.org/fr/ ... 058#p60058
- Jean-Marc
- Membre hOOnoraire
- Messages : 168
- Inscription : 06 févr. 2007 21:31
- Localisation : Boulogne sur mer
- Contact :
Re: Trier Tableau() par ordre alphabetique en macro
Bonjour Domm
A ma connaissance je ne connais pas de fonction de trie dans les tableau en Basic
j'utilise la bonne vieille méthode du trie bulle
tu trouveras facilement sur le net des exemples
en voici un très parlant http://lwh.free.fr/pages/algo/tri/tri_bulle.htm
Bonne journée
A ma connaissance je ne connais pas de fonction de trie dans les tableau en Basic
j'utilise la bonne vieille méthode du trie bulle
tu trouveras facilement sur le net des exemples
en voici un très parlant http://lwh.free.fr/pages/algo/tri/tri_bulle.htm
Bonne journée
OpenOffice 4.1.5 AOO415m1(Build:9789) - Rev. 1817496
2017-12-11 17:25 - Version: 6.1.0.3 (x64)
Build ID: efb621ed25068d70781dc026f7e9c5187a4decd1 Window 10
libreoffice Version: 6.2.0.3 (x64)
Build ID: 98c6a8a1c6c7b144ce3cc729e34964b47ce25d62
2017-12-11 17:25 - Version: 6.1.0.3 (x64)
Build ID: efb621ed25068d70781dc026f7e9c5187a4decd1 Window 10
libreoffice Version: 6.2.0.3 (x64)
Build ID: 98c6a8a1c6c7b144ce3cc729e34964b47ce25d62
- Dude
- IdOOle de la suite
- Messages : 25143
- Inscription : 03 mars 2006 08:45
- Localisation : 127.0.0.1
- Contact :
Re: [Base] Trier Tableau() par ordre alphabetique en macro
Ci-dessous la procédure et la fonction dont je me sers :
Code : Tout sélectionner
Sub Main
' On crée un tableau avec 3 éléments bidons
' On affiche, on trie et on réaffiche le résultat
oTab = array ("Xavier ", "Bernard ", "Robert ")
print (oTab(0) & oTab(1) & oTab(2))
Tri(oTab(), LBound(oTab()), UBound(oTab()) )
print (oTab(0) & oTab(1) & oTab(2))
End Sub
Function partition(Tableau(), xMin As Long, xMax As Long) As Long
Dim yMin As Long, yMax As Long
Dim indexTab, echange
indexTab = Tableau((xMin +xMax) \ 2)
yMin = xMin -1
yMax = xMax +1
Do
Do
yMax = yMax-1
Loop Until StrComp(Tableau(yMax), indexTab, 0) <= 0
Do
yMin = yMin+1
Loop Until StrComp(Tableau(yMin), indexTab, 0) >= 0
if yMin < yMax then
echange = Tableau(yMin)
Tableau(yMin) = Tableau(yMax)
Tableau(yMax) = echange
else
partition = yMax
Exit Function
end if
Loop
End Function
Sub Tri(Tableau(), xMin As Long, xMax As Long)
Dim p As Long
if xMin < xMax then
p = partition(Tableau(), xMin, xMax)
Tri(Tableau(), xMin, p)
Tri(Tableau(), p+1, xMax)
end if
End Sub
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
Améliorez AOO et votez pour les issues