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

10 réponses

2 3 4 5 6
Avatar
Misange
Mais c'était avec grand plaisir Jean paul, pour une fois que tu poses
une question, fallait pas rater l'occasion de te répondre !

Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta

on 27/11/2004 15:23:
madame est bien bonne...que madame soit remerciée en place publique...
bises aussi...
jps

"Misange" a écrit dans le message de
news:O%

Si tu cherches avec le mot clef array ca ira bien mieux qu'avec tableau
dans l'aide de VBA !
Sur excelabo aussi : xl/outils/array

Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta


on 26/11/2004 23:25:

merci à toi robert et aussi merci à clément dont le post vers lequel il



m'a

dirigé est resté pour moi d'une étanchéité digne d'un sous-marin (sauf à
l'occasion des journées portes ouvertes), si l'on met à part les traits
d'humour de l'auteur....
quant à l'aide excel ou même VBA, je n'ai toujours rien vu mais je pense



que

je parviendrai quand même à dormir malgré ce manquement à ma culture...
jps

"Herdet" a écrit dans le message de
news:%


< en cliquant F11, je n'ai pas trouvé l'aide ad hoc >
Je te mets sur la voie, cherche le CAR(63) sur ton écran Excel et clic
dessus avec le bouton situé sous ton index droit.
Tu veux quand même pas que les exceliens fassent le boulot à ta place,




non

!!!

<< PS ça sert à quoi un tableau VBA? >>
A Thierry pour faire la promo de ses bestiaux et de sa région, c'te




bonne

blague !!

A+
RD

"jps" a écrit dans le message




de

news: Ouj8A5$


merci robert
si j'ai bien trouvé la feuille avec l onglet Macro en cliquant F11, je


n'ai


pas trouvé l'aide ad hoc....il n'empêche que cela m'a fait penser au
classeur .xlm de feu XL 4....un rapport ou bien?
en tous cas, cela m'a permis de prendre contact avec le père



brossollette,


lequel m'a dit t'avoir confessé mais secret de la confession obligeant,



il


en est resté là mais moi je sais bien toutes les mauvaisetés que tu as


dans


le coeur...
jps
PS ça sert à quoi un tableau VBA?

"Herdet" a écrit dans le message de
news:e2A2Je$


Cent fois sur le métier comme disait un illustre inconnu que tu




connais


sûrement
Qu'est qu'un tableau VBA ?
Imagine un beau tableau de maitre, genre tournesol de V.G. dans lequel



tu


remplaces les dites fleurs par des Veaux et Broutard d'Anjou.
D'accord, c'est pas des choses à faire mais avec un encadrement de 20



pts


d'épaisseur du plus bel effet, un remplissage de fond en vert "herbe"




et


un


alignement centré, tu obtiens un magnifique "tableau VBA".
Si après çà, tu as un encore besoin d'explications, je te conseille
fortement de contacter notre spécialiste Thierry du MPFE ou bien notre
révérend Père Brossolette.

Amicalement
Robert
PS : en faisant un Ctrl F11, il existe aussi une version bassement
matérialiste de ce type de tableau cité dans l'aide en ligne de $Bilou



ou


bien chez le volatile

"jps" a écrit dans le




message


de


news: #3$


bon, ben moi, bobby, c'est fini : je ne t'aide plus....
un tableau VBA...un tableau VBA...mais c'est quoi un tableau VBA?
tu pourrais au moins le dire au lieu d'ironiser à l'égard de geedee





ou


de


moi-même...
jps

"Herdet" a écrit dans le message de
news:%


Salut anonymous (????)
1) qui est-tu pour te permettre de m'appeler Bobby ?
2) le ton de message est un petit encouragement amical adressé à






des


personnes connues et pour faire avancer le shmilblic mais je dis






que


c'est


juste pour JPS, je vais me faire incendier.
A+
Robert


a écrit dans le message de





news:


992801c4d3a1$81d82cc0$
hey Bobby, tu va pas te mettre à remplacer Pestou !!!
;o)))
® © ¿


-----Message d'origine-----
Faites un peu plus travailler vos méninges...heuh, sans


vous obliger, bien sûr !!!





















Avatar
Pounet95
Bonsoir jps,
J'ai cru comprendre qu'on parle de poisson, de félin au féminin, de
malchance, d'un imbécile, du fruit du chêne,
de chasse ?
Je demande confirmation à l'auteur

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
"jps" a écrit dans le message de
news: %
bouhhhhhhh au secours, geedee, je n'en ai que la moitié et encore pas
sûr...
t'es trop fort, michel P.
jps

"Michel Pierron" a écrit dans le message de
news:%
Hi JPS;
Si ma mémoire est bonne, n'est-ce pas lorsqu'elle revenait pleine
d'espoir
de la ferme au pont du Jura ?
MP

"jps" a écrit dans le message
de
news:
bonsoir twinley
non, non, pas de CPT dans la phrase...je ne suis pas d'aniche,
moi...par
contre, puisqu'encore l'autre jour, je m'adressais à notre grenouille
et
non

moins geôlière québécoise, je vais te laisser le soin de chercher
celle-ci


(le tout est de mon crû, comme on peut aussi dire) :
"l'ami de la rainette coasse près du pont et son chant glace le plus
dingue

des crapauds"
et moins fastoche qu'on pourrait croire...
jps

"twinley" <twinleym(at)hotmail.com> a écrit dans le message de
news:%
Bonsoir jps,

Je n'ai pas trouvé la contrepèterie. Si tu pouvais m'orienter...
Je devinais un truc : le vent siffle dans la rue du quai
mais non !

--
à+twinley
"jps" a écrit dans le message
de



news:
le vent des scuds souffle même des lieux les plus
brillants...enfin,
je



veux
dire les plus savonnés
jps

"Daniel.M" a écrit dans le
message
de



news:%23$
Bonjour Robert,

Je suis un peu déçu de vos prestations les gars, JPS en tête,
car






je
pense
avoir clairement exposé le problème :
" j'ai un tableau VBA" à ne pas confondre avec un tableau
Excel.



C'est en effet JPS qui m'a aiguillé sur la mauvaise voie. Mais
combien




de
personnes a-t-il perverties ainsi au cours de sa vie, hein?!

Ceci étant dit, as-tu trouvé ton bonheur pour ta question
originale?






Salutations,

Daniel M.





















Avatar
jps
peux pas tout faire, moi : QC, HS et questions...
jps

"Misange" a écrit dans le message de
news:%
Mais c'était avec grand plaisir Jean paul, pour une fois que tu poses
une question, fallait pas rater l'occasion de te répondre !

Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta

on 27/11/2004 15:23:
madame est bien bonne...que madame soit remerciée en place publique...
bises aussi...
jps

"Misange" a écrit dans le message de
news:O%

Si tu cherches avec le mot clef array ca ira bien mieux qu'avec tableau
dans l'aide de VBA !
Sur excelabo aussi : xl/outils/array

Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta


on 26/11/2004 23:25:

merci à toi robert et aussi merci à clément dont le post vers lequel il



m'a

dirigé est resté pour moi d'une étanchéité digne d'un sous-marin (sauf
à




l'occasion des journées portes ouvertes), si l'on met à part les traits
d'humour de l'auteur....
quant à l'aide excel ou même VBA, je n'ai toujours rien vu mais je
pense





que

je parviendrai quand même à dormir malgré ce manquement à ma culture...
jps

"Herdet" a écrit dans le message de
news:%


< en cliquant F11, je n'ai pas trouvé l'aide ad hoc >
Je te mets sur la voie, cherche le CAR(63) sur ton écran Excel et clic
dessus avec le bouton situé sous ton index droit.
Tu veux quand même pas que les exceliens fassent le boulot à ta place,




non

!!!

<< PS ça sert à quoi un tableau VBA? >>
A Thierry pour faire la promo de ses bestiaux et de sa région, c'te




bonne

blague !!

A+
RD

"jps" a écrit dans le
message






de

news: Ouj8A5$


merci robert
si j'ai bien trouvé la feuille avec l onglet Macro en cliquant F11,
je







n'ai


pas trouvé l'aide ad hoc....il n'empêche que cela m'a fait penser au
classeur .xlm de feu XL 4....un rapport ou bien?
en tous cas, cela m'a permis de prendre contact avec le père



brossollette,


lequel m'a dit t'avoir confessé mais secret de la confession
obligeant,







il


en est resté là mais moi je sais bien toutes les mauvaisetés que tu
as







dans


le coeur...
jps
PS ça sert à quoi un tableau VBA?

"Herdet" a écrit dans le message de
news:e2A2Je$


Cent fois sur le métier comme disait un illustre inconnu que tu




connais


sûrement
Qu'est qu'un tableau VBA ?
Imagine un beau tableau de maitre, genre tournesol de V.G. dans
lequel








tu


remplaces les dites fleurs par des Veaux et Broutard d'Anjou.
D'accord, c'est pas des choses à faire mais avec un encadrement de
20








pts


d'épaisseur du plus bel effet, un remplissage de fond en vert
"herbe"








et


un


alignement centré, tu obtiens un magnifique "tableau VBA".
Si après çà, tu as un encore besoin d'explications, je te conseille
fortement de contacter notre spécialiste Thierry du MPFE ou bien
notre







révérend Père Brossolette.

Amicalement
Robert
PS : en faisant un Ctrl F11, il existe aussi une version bassement
matérialiste de ce type de tableau cité dans l'aide en ligne de
$Bilou








ou


bien chez le volatile

"jps" a écrit dans le




message


de


news: #3$


bon, ben moi, bobby, c'est fini : je ne t'aide plus....
un tableau VBA...un tableau VBA...mais c'est quoi un tableau VBA?
tu pourrais au moins le dire au lieu d'ironiser à l'égard de geedee





ou


de


moi-même...
jps

"Herdet" a écrit dans le message de
news:%


Salut anonymous (????)
1) qui est-tu pour te permettre de m'appeler Bobby ?
2) le ton de message est un petit encouragement amical adressé à






des


personnes connues et pour faire avancer le shmilblic mais je dis






que


c'est


juste pour JPS, je vais me faire incendier.
A+
Robert


a écrit dans le message de





news:


992801c4d3a1$81d82cc0$
hey Bobby, tu va pas te mettre à remplacer Pestou !!!
;o)))
® © ¿


-----Message d'origine-----
Faites un peu plus travailler vos méninges...heuh, sans


vous obliger, bien sûr !!!























Avatar
jps
ne manque que le final, pounet...sinon, les synonymes sont très bien
choisis....
jps

"Pounet95" a écrit dans le message de
news:%23J0$
Bonsoir jps,
J'ai cru comprendre qu'on parle de poisson, de félin au féminin, de
malchance, d'un imbécile, du fruit du chêne,
de chasse ?
Je demande confirmation à l'auteur

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
"jps" a écrit dans le message de
news: %
bouhhhhhhh au secours, geedee, je n'en ai que la moitié et encore pas
sûr...
t'es trop fort, michel P.
jps

"Michel Pierron" a écrit dans le message de
news:%
Hi JPS;
Si ma mémoire est bonne, n'est-ce pas lorsqu'elle revenait pleine
d'espoir
de la ferme au pont du Jura ?
MP

"jps" a écrit dans le message
de
news:
bonsoir twinley
non, non, pas de CPT dans la phrase...je ne suis pas d'aniche,
moi...par
contre, puisqu'encore l'autre jour, je m'adressais à notre grenouille
et
non

moins geôlière québécoise, je vais te laisser le soin de chercher
celle-ci


(le tout est de mon crû, comme on peut aussi dire) :
"l'ami de la rainette coasse près du pont et son chant glace le plus
dingue

des crapauds"
et moins fastoche qu'on pourrait croire...
jps

"twinley" <twinleym(at)hotmail.com> a écrit dans le message de
news:%
Bonsoir jps,

Je n'ai pas trouvé la contrepèterie. Si tu pouvais m'orienter...
Je devinais un truc : le vent siffle dans la rue du quai
mais non !

--
à+twinley
"jps" a écrit dans le
message





de
news:
le vent des scuds souffle même des lieux les plus
brillants...enfin,
je



veux
dire les plus savonnés
jps

"Daniel.M" a écrit dans le
message
de



news:%23$
Bonjour Robert,

Je suis un peu déçu de vos prestations les gars, JPS en tête,
car






je
pense
avoir clairement exposé le problème :
" j'ai un tableau VBA" à ne pas confondre avec un tableau
Excel.



C'est en effet JPS qui m'a aiguillé sur la mauvaise voie. Mais
combien




de
personnes a-t-il perverties ainsi au cours de sa vie, hein?!

Ceci étant dit, as-tu trouvé ton bonheur pour ta question
originale?






Salutations,

Daniel M.
























Avatar
Misange
Si tu passais un peu moins de temps à préparer tes chansons crois moi,
tu pourrais travailler un peu plus sérieusement sur excel ! Ah là là
tout fout le camp, même les anciens qui ne respectent plus l'étude.
Qu'est ce qu'ils te mettaient comme appréciation tes profs ? A de belles
cravates ?
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta


on 27/11/2004 17:08:
peux pas tout faire, moi : QC, HS et questions...
jps

"Misange" a écrit dans le message de
news:%

Mais c'était avec grand plaisir Jean paul, pour une fois que tu poses
une question, fallait pas rater l'occasion de te répondre !

Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta

on 27/11/2004 15:23:

madame est bien bonne...que madame soit remerciée en place publique...
bises aussi...
jps

"Misange" a écrit dans le message de
news:O%


Si tu cherches avec le mot clef array ca ira bien mieux qu'avec tableau
dans l'aide de VBA !
Sur excelabo aussi : xl/outils/array

Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta


on 26/11/2004 23:25:


merci à toi robert et aussi merci à clément dont le post vers lequel il



m'a


dirigé est resté pour moi d'une étanchéité digne d'un sous-marin (sauf





à

l'occasion des journées portes ouvertes), si l'on met à part les traits
d'humour de l'auteur....
quant à l'aide excel ou même VBA, je n'ai toujours rien vu mais je





pense

que


je parviendrai quand même à dormir malgré ce manquement à ma culture...
jps

"Herdet" a écrit dans le message de
news:%



< en cliquant F11, je n'ai pas trouvé l'aide ad hoc >
Je te mets sur la voie, cherche le CAR(63) sur ton écran Excel et clic
dessus avec le bouton situé sous ton index droit.
Tu veux quand même pas que les exceliens fassent le boulot à ta place,




non


!!!

<< PS ça sert à quoi un tableau VBA? >>
A Thierry pour faire la promo de ses bestiaux et de sa région, c'te




bonne


blague !!

A+
RD

"jps" a écrit dans le






message

de


news: Ouj8A5$



merci robert
si j'ai bien trouvé la feuille avec l onglet Macro en cliquant F11,







je

n'ai



pas trouvé l'aide ad hoc....il n'empêche que cela m'a fait penser au
classeur .xlm de feu XL 4....un rapport ou bien?
en tous cas, cela m'a permis de prendre contact avec le père



brossollette,



lequel m'a dit t'avoir confessé mais secret de la confession







obligeant,

il



en est resté là mais moi je sais bien toutes les mauvaisetés que tu







as

dans



le coeur...
jps
PS ça sert à quoi un tableau VBA?

"Herdet" a écrit dans le message de
news:e2A2Je$



Cent fois sur le métier comme disait un illustre inconnu que tu




connais



sûrement
Qu'est qu'un tableau VBA ?
Imagine un beau tableau de maitre, genre tournesol de V.G. dans








lequel

tu



remplaces les dites fleurs par des Veaux et Broutard d'Anjou.
D'accord, c'est pas des choses à faire mais avec un encadrement de








20

pts



d'épaisseur du plus bel effet, un remplissage de fond en vert








"herbe"

et



un



alignement centré, tu obtiens un magnifique "tableau VBA".
Si après çà, tu as un encore besoin d'explications, je te conseille
fortement de contacter notre spécialiste Thierry du MPFE ou bien








notre

révérend Père Brossolette.

Amicalement
Robert
PS : en faisant un Ctrl F11, il existe aussi une version bassement
matérialiste de ce type de tableau cité dans l'aide en ligne de








$Bilou

ou



bien chez le volatile

"jps" a écrit dans le




message



de



news: #3$



bon, ben moi, bobby, c'est fini : je ne t'aide plus....
un tableau VBA...un tableau VBA...mais c'est quoi un tableau VBA?
tu pourrais au moins le dire au lieu d'ironiser à l'égard de geedee





ou



de



moi-même...
jps

"Herdet" a écrit dans le message de
news:%



Salut anonymous (????)
1) qui est-tu pour te permettre de m'appeler Bobby ?
2) le ton de message est un petit encouragement amical adressé à






des



personnes connues et pour faire avancer le shmilblic mais je dis






que



c'est



juste pour JPS, je vais me faire incendier.
A+
Robert


a écrit dans le message de





news:



992801c4d3a1$81d82cc0$
hey Bobby, tu va pas te mettre à remplacer Pestou !!!
;o)))
® © ¿



-----Message d'origine-----
Faites un peu plus travailler vos méninges...heuh, sans


vous obliger, bien sûr !!!

























Avatar
Pounet95
... plus 'sale' des 'chien australien' ?????
Là j'ai pas pas compris !

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
"jps" a écrit dans le message de
news:
ne manque que le final, pounet...sinon, les synonymes sont très bien
choisis....
jps

"Pounet95" a écrit dans le message de
news:%23J0$
Bonsoir jps,
J'ai cru comprendre qu'on parle de poisson, de félin au féminin, de
malchance, d'un imbécile, du fruit du chêne,
de chasse ?
Je demande confirmation à l'auteur

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
"jps" a écrit dans le message
de
news: %
bouhhhhhhh au secours, geedee, je n'en ai que la moitié et encore pas
sûr...
t'es trop fort, michel P.
jps

"Michel Pierron" a écrit dans le message de
news:%
Hi JPS;
Si ma mémoire est bonne, n'est-ce pas lorsqu'elle revenait pleine
d'espoir
de la ferme au pont du Jura ?
MP

"jps" a écrit dans le
message
de
news:
bonsoir twinley
non, non, pas de CPT dans la phrase...je ne suis pas d'aniche,
moi...par
contre, puisqu'encore l'autre jour, je m'adressais à notre
grenouille
et
non

moins geôlière québécoise, je vais te laisser le soin de chercher
celle-ci


(le tout est de mon crû, comme on peut aussi dire) :
"l'ami de la rainette coasse près du pont et son chant glace le plus
dingue

des crapauds"
et moins fastoche qu'on pourrait croire...
jps

"twinley" <twinleym(at)hotmail.com> a écrit dans le message de
news:%
Bonsoir jps,

Je n'ai pas trouvé la contrepèterie. Si tu pouvais m'orienter...
Je devinais un truc : le vent siffle dans la rue du quai
mais non !

--
à+twinley
"jps" a écrit dans le
message





de
news:
le vent des scuds souffle même des lieux les plus
brillants...enfin,
je



veux
dire les plus savonnés
jps

"Daniel.M" a écrit dans le
message
de



news:%23$
Bonjour Robert,

Je suis un peu déçu de vos prestations les gars, JPS en
tête,
car






je
pense
avoir clairement exposé le problème :
" j'ai un tableau VBA" à ne pas confondre avec un tableau
Excel.



C'est en effet JPS qui m'a aiguillé sur la mauvaise voie. Mais
combien




de
personnes a-t-il perverties ainsi au cours de sa vie, hein?!

Ceci étant dit, as-tu trouvé ton bonheur pour ta question
originale?






Salutations,

Daniel M.



























Avatar
Frédéric Sigonneau
Bonjour Robert,

La petite procédure ci-dessous fait, je pense, ce que tu souhaites. Elle utilise
pour le tri un code trouvé chez MS (je crois). Tu devrais pouvoir l'adapter pour
répondre à ton besoin, sinon fais signe.

'====================== Sub ValUniquesTriéesDUnTableau()
Dim Arr(), Coll As New Collection, elt, i, S$

'tableau exemple
Arr = Array(5, 8, 1, 3, 21, 4, 5, 8, 9, 1, 2, 4, 5, 12, 4, 21, 3, 6)

' Récupère les valeurs uniques du tableau
' en passant par une collection
On Error Resume Next
For Each elt In Arr
Coll.Add elt, CStr(elt)
Next
' On Error GoTo 0
ReDim Arr(Coll.Count - 1)
For i = 1 To Coll.Count
Arr(i - 1) = Coll(i)
Next

'Tri du tableau
QuickSort Arr(), LBound(Arr), UBound(Arr)

'Affiche le résultat
For i = LBound(Arr) To UBound(Arr)
S = S & " " & Arr(i)
Next
MsgBox S

End Sub

Sub QuickSort(A(), ByVal Low As Long, ByVal Hi As Long)
' code Microsoft
' Very fast sort: n Log n comparisons

Dim MidValue As Integer, i As Integer, j As Integer, Temp As Integer
If Hi <= Low Then Exit Sub
MidValue = A((Low + Hi) 2)
i = Low
j = Hi
Do While i <= j
If A(i) >= MidValue And A(j) <= MidValue Then
Temp = A(i)
A(i) = A(j)
A(j) = Temp
i = i + 1
j = j - 1
Else
If A(i) < MidValue Then i = i + 1
If A(j) > MidValue Then j = j - 1
End If
Loop
QuickSort A(), Low, j
QuickSort A(), i, Hi
End Sub
'======================
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !

Bonsoir Daniel,
Je n'ose même pas songer au nombre actuel et potentiel des personnes
perverties par notre autoproclamé Président du COIN qui doit en plus
profiter des ses prérogatives.
(Je crois qu'il me faire payer ce scud)
Je n'ai pas encore trouvé de solutions qui me satisfasse mais je continue de
chercher.
Salutations
Robert
PS : il va falloir que j'explique à ce Jeune Premier Sous-doué ce qu'est un
tableau VBA qu'il doit d'ailleurs parfaitement connaitre


"Daniel.M" a écrit dans le message de
news: #$

Bonjour Robert,


Je suis un peu déçu de vos prestations les gars, JPS en tête, car je



pense

avoir clairement exposé le problème :
" j'ai un tableau VBA" à ne pas confondre avec un tableau Excel.



C'est en effet JPS qui m'a aiguillé sur la mauvaise voie. Mais combien de
personnes a-t-il perverties ainsi au cours de sa vie, hein?!

Ceci étant dit, as-tu trouvé ton bonheur pour ta question originale?

Salutations,

Daniel M.










Avatar
Frédéric Sigonneau
Re Robert,

On peut économiser quelques bouclettes en utilisant un objet Dictionary au lieu
d'une collection (toujours en utilisant le QuickSort pour trier) :

'================== Sub ValUniquesTriéesDUnTableau_v2()
Dim Arr, Arr2(), Dico, elt

'tableau exemple
Arr = Array(5, 8, 1, 3, 21, 4, 5, 8, 9, 1, 2, 4, 5, 12, 4, 21, 3, 6)
Set Dico = CreateObject("Scripting.Dictionary")

'Récupère les valeurs uniques du tableau dans un "dictionnaire"
For Each elt In Arr
If Not Dico.exists(elt) Then Dico.Add elt, elt
Next

'Retour des valeurs uniques dans un 2ème tableau
Arr2 = Dico.keys

'Tri du tableau
QuickSort Arr2(), LBound(Arr2), UBound(Arr2)

'Affiche le résultat
For i = LBound(Arr2) To UBound(Arr2)
S = S & " " & Arr2(i)
Next
MsgBox S

End Sub
'==================
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !

Bonsoir Daniel,
Je n'ose même pas songer au nombre actuel et potentiel des personnes
perverties par notre autoproclamé Président du COIN qui doit en plus
profiter des ses prérogatives.
(Je crois qu'il me faire payer ce scud)
Je n'ai pas encore trouvé de solutions qui me satisfasse mais je continue de
chercher.
Salutations
Robert
PS : il va falloir que j'explique à ce Jeune Premier Sous-doué ce qu'est un
tableau VBA qu'il doit d'ailleurs parfaitement connaitre


"Daniel.M" a écrit dans le message de
news: #$

Bonjour Robert,


Je suis un peu déçu de vos prestations les gars, JPS en tête, car je



pense

avoir clairement exposé le problème :
" j'ai un tableau VBA" à ne pas confondre avec un tableau Excel.



C'est en effet JPS qui m'a aiguillé sur la mauvaise voie. Mais combien de
personnes a-t-il perverties ainsi au cours de sa vie, hein?!

Ceci étant dit, as-tu trouvé ton bonheur pour ta question originale?

Salutations,

Daniel M.










Avatar
Daniel.M
Salut Frédéric, Robert,

On peut économiser quelques bouclettes en utilisant un objet Dictionary au
lieu

d'une collection (toujours en utilisant le QuickSort pour trier) :



Dans les cas où il faut faire le tri de toute façon, on peut en profiter pour
remettre l'évaluation des doublons à plus tard et ainsi contourner l'usage d'une
collection ou d'un objet Dictionary. Dans le code qui suit, j'ai omis de
recopier QuickSort.

'================== ' DMA
' On trie d'abord
' et on élimine ensuite en sachant que les
' semblables sont obligatoirement consécutifs
'
Sub TabValUniquesTriées()
Dim Arr(), Arr2()
Dim i&, j&, k&, m&, s As String

'tableau exemple
Arr = Array(5, 8, 1, 1, 21, 4, 5, 8, 9, 1, 2, 4, _
5, 12, 4, 21, 3, 6)

j = LBound(Arr)
k = UBound(Arr)

QuickSort Arr(), j, k
ReDim Arr2(j To k)

m = j
Arr2(m) = Arr(m) ' le premier est unique!

For i = j + 1 To k ' commence au deuxième
If Arr(i) <> Arr(i - 1) Then
m = m + 1
Arr2(m) = Arr(i)
End If
Next i

ReDim Preserve Arr2(j To m)

'Affiche le résultat
For i = j To m
s = s & " " & Arr2(i)
Next
MsgBox s

End Sub
'==================
Salutations,

Daniel M.

Avatar
Frédéric Sigonneau
Re, re Daniel,

Et avec tout ça l'ami Robert n'est toujours pas sorti du bois !
Il a pourtant largement de quoi faire maintenant :)

FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !

Salut Frédéric, Robert,


On peut économiser quelques bouclettes en utilisant un objet Dictionary au


lieu

d'une collection (toujours en utilisant le QuickSort pour trier) :




Dans les cas où il faut faire le tri de toute façon, on peut en profiter pour
remettre l'évaluation des doublons à plus tard et ainsi contourner l'usage d'une
collection ou d'un objet Dictionary. Dans le code qui suit, j'ai omis de
recopier QuickSort.

'================== > ' DMA
' On trie d'abord
' et on élimine ensuite en sachant que les
' semblables sont obligatoirement consécutifs
'
Sub TabValUniquesTriées()
Dim Arr(), Arr2()
Dim i&, j&, k&, m&, s As String

'tableau exemple
Arr = Array(5, 8, 1, 1, 21, 4, 5, 8, 9, 1, 2, 4, _
5, 12, 4, 21, 3, 6)

j = LBound(Arr)
k = UBound(Arr)

QuickSort Arr(), j, k
ReDim Arr2(j To k)

m = j
Arr2(m) = Arr(m) ' le premier est unique!

For i = j + 1 To k ' commence au deuxième
If Arr(i) <> Arr(i - 1) Then
m = m + 1
Arr2(m) = Arr(i)
End If
Next i

ReDim Preserve Arr2(j To m)

'Affiche le résultat
For i = j To m
s = s & " " & Arr2(i)
Next
MsgBox s

End Sub
'================== >
Salutations,

Daniel M.





2 3 4 5 6