OVH Cloud OVH Cloud

Valeurs uniques triées dans un tableau VBA

54 réponses
Avatar
Herdet
Bonsoir à tous,
Après une recherche infructueuse et des tests un peu laborieux je fais appel
à vous.
J'ai tableau VBA de 10 à 1200 lignes ( 1 colonne) nommé TAval
Je cherche à supprimer tous les doublons puis à le trier par ordre croissant
(ou décroissant).
Et bien sûr le tout en VBA ou bien en API Windows (plus rapides) sans
utiliser les filtres de feuille de calcul
Merci
Cordiales salutations
Robert Dezan

4 réponses

2 3 4 5 6
Avatar
Daniel.M
si ma plume était plus alerte, j'écrirais
un roman "Le viel homme et maher"


:-)

Ta plume rejoint donc l'autre organe (vocal, je précise) qui aurait, dit-on, des
ratés. Mais c'est peut-être juste de la médisance. ;-)

Salutations,

Daniel M.

Avatar
jps
:-))))))))
oui, daniel, comme le malt est pure, ta médisance t'est tout autant...
jps

"Daniel.M" a écrit dans le message de
news:%23zgg%23a$


si ma plume était plus alerte, j'écrirais
un roman "Le viel homme et maher"


:-)

Ta plume rejoint donc l'autre organe (vocal, je précise) qui aurait,
dit-on, des

ratés. Mais c'est peut-être juste de la médisance. ;-)

Salutations,

Daniel M.





Avatar
Herdet
Salut JP,
Je suis étonné que tu ne saches pas que Denis Michon est le frère jumeau de
Michel Denis ou l'inverse ?
J'ai eu des mesages persos avec les 2 signatures et approuvées par leur
auteur unique.

Amitiès
Robert


"jps" a écrit dans le message de
news: Ol$$X##
des commentaires, moi, bobby?
ah si, juste un tout petit : quel honneur de voir figurer mes iniitales
aux

côtés des plus émérites contributeurs de ce forum, avec une mention
spéciale

à michel denis qui mériterait davantage les prénoms de vincent et de
paul...si ma plume était plus alerte, j'écrirais un roman "Le viel homme
et

maher"
jps

"Herdet" a écrit dans le message de
news:OWnyow%
Bonsoir à tous,
Je remercie tout particulièrement Frédéric Sigonneau, DanielM, AV
MichDenis

et JPS pour l'aide concernant le tri et la suppression de doublons dans
un


tableau VBA (Fil : valeurs uniques triés dans un tableau VBA achevé le
30/11 ce n'est pas si vieux que cà.)
Mes excuses pour ce retard ( pas de commentaire JPS !)
Je mets les procédures proposées en test et en application et je vous
tiens

au courant.
Cordialement
Robert
PS : pas mal la discussion animée sur les contrepèteries



"Daniel.M" a écrit dans le message de
news:
Hello,

Serait-ce envisageable d'utiliser comme tableau une plage de
cellules plutôt qu'une liste de data.


Oui Denis, avec la précaution qu'on aurait alors un tableau
bi-dimensionnel (1

To 20, 1 To 1), donc les procédures TabValUniquesTriées et QuickSort à
adapter.


C'est seulement que la question de Robert avait au départ seulement un
tableau

VBA (et comme je me suis déjà fait rappeler à l'ordre là-dessus plus
haut


dans
ce fil...).

Mais on peut évidemment récupérer les données d'une plage.
Et pour tout te dire, en plus, je ferais de cette procédure, une
fonction.



Mais Robert ne donne pas signe de vie... :­~|

Daniel M.

"michdenis" wrote in message
news:
Bonjour Daniel, Frédéric,

Serait-ce envisageable d'utiliser comme tableau une plage de
cellules




plutôt
qu'une liste de data.

En pratique, remplacer cette ligne :
'tableau exemple
Arr = Array(5, 8, 1, 1, 21, 4, 5, 8, 9, 1, 2, 4, _
5, 12, 4, 21, 3, 6)

Par
Arr = range("A1:A20")

Merci pour votre collaboration,


Salutations!













Avatar
GD
Bonsour® Bobby ;o)))
une réponse fournie ce jour sur MPEP (alan Beban)
utilisable aussi bien en VBA qu'en feuille de calcul (Fonction validation
matricielle pour le resultat)
on peut y rajouter le quickSort ;o)))

Function NOBLANKSNOREPEATS(InputArray)
'---alan Beban MPEP 04/12/2004
Dim arr, arr2()
Dim i As Long
Dim Elem, Coll As Collection
arr = InputArray
Set Coll = New Collection
On Error Resume Next
For Each Elem In arr
Coll.Add Elem, CStr(Elem)
If Elem = "" Then Coll.Remove (Elem)
Next
On Error GoTo 0
ReDim arr2(1 To Coll.Count, 1 To 1)
i = 1
For Each Elem In Coll
arr2(i, 1) = Elem
i = i + 1
Next
NOBLANKSNOREPEATS = arr2
End Function

Herdet wrote:
Bonsoir à tous,
Je remercie tout particulièrement Frédéric Sigonneau, DanielM, AV
MichDenis et JPS pour l'aide concernant le tri et la suppression de
doublons dans un tableau VBA (Fil : valeurs uniques triés dans un
tableau VBA achevé le 30/11 ce n'est pas si vieux que cà.)
Mes excuses pour ce retard ( pas de commentaire JPS !)
Je mets les procédures proposées en test et en application et je vous
tiens au courant.
Cordialement
Robert
PS : pas mal la discussion animée sur les contrepèteries



"Daniel.M" a écrit dans le message
de news:
Hello,

Serait-ce envisageable d'utiliser comme tableau une plage de
cellules plutôt qu'une liste de data.


Oui Denis, avec la précaution qu'on aurait alors un tableau
bi-dimensionnel (1 To 20, 1 To 1), donc les procédures
TabValUniquesTriées et QuickSort à adapter.

C'est seulement que la question de Robert avait au départ seulement
un tableau VBA (et comme je me suis déjà fait rappeler à l'ordre
là-dessus plus haut dans ce fil...).

Mais on peut évidemment récupérer les données d'une plage.
Et pour tout te dire, en plus, je ferais de cette procédure, une
fonction.

Mais Robert ne donne pas signe de vie... :­~|

Daniel M.

"michdenis" wrote in message
news:
Bonjour Daniel, Frédéric,

Serait-ce envisageable d'utiliser comme tableau une plage de
cellules plutôt qu'une liste de data.

En pratique, remplacer cette ligne :
'tableau exemple
Arr = Array(5, 8, 1, 1, 21, 4, 5, 8, 9, 1, 2, 4, _
5, 12, 4, 21, 3, 6)

Par
Arr = range("A1:A20")

Merci pour votre collaboration,


Salutations!






2 3 4 5 6