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
:-)))))))) 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.
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!
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" <biscotteUnScudJpsabatdelaile@wanadoo.fr> a écrit dans le message de
news: Ol$$X##1EHA.3000@TK2MSFTNGP15.phx.gbl...
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" <rdezan@noos.fr> a écrit dans le message de
news:OWnyow%231EHA.304@TK2MSFTNGP11.phx.gbl...
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" <prenom.maher@bigfoot.inutil.com> a écrit dans le message de
news: uX7UdLy1EHA.2644@TK2MSFTNGP11.phx.gbl...
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" <michdenis@hotmail.com> wrote in message
news:eF6Mufx1EHA.164@TK2MSFTNGP10.phx.gbl...
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)
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!
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!
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" <prenom.maher@bigfoot.inutil.com> a écrit dans le message
de news: uX7UdLy1EHA.2644@TK2MSFTNGP11.phx.gbl...
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" <michdenis@hotmail.com> wrote in message
news:eF6Mufx1EHA.164@TK2MSFTNGP10.phx.gbl...
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)
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)