Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Doublons (encore) et New Collection

23 réponses
Avatar
garnote
Bonjour,

Peut-on transférer le tableau t dans SD
en éliminant les doublons, les triplons ... ;-)

Sub Way()

Dim SD As New Collection
Dim t(1 To 10)
For i = 1 To 10
t(i) = Int(5 * Rnd())
Next i
' ...

End Sub


Serge

10 réponses

1 2 3
Avatar
Modeste
Bonsour® michdenis

Et ben là, je ne comprends pas ton raisonnement :



Je fait amende honorable, ma grande bévue à été de confondre "key" et Index
et de croire que ce key était le 1er parametre (selon l'aide : chaîne de clé susceptible d'être utilisée à la place de l'index de position pour accéder à un membre de la collection.)

;o)))
For I = 1 To 1000
n = 10 * Rnd()
SD.Add I, CStr(n) '----- I est la "key"
Next I
Non ??? ou alors j'ai rien compris ...



en relisant l'aide , en effet une collection est different de la notion d'array.

comme quoi même aprés plus de 15 ans d'Excel, on en découvre encore !!!
;o)))
Avatar
michdenis
| ma grande bévue à été de confondre "key" et Index

Pas de problème... ça m'arrive régulièrement...
ça humanise le rapport à ces machines ! ;-))
Avatar
Mgr.Abile
Bonjour mon frère,

ça me fait vraiment penser au célèbre :
plus tu pédales moins lentement, moins tu avances plus rapidement



ce à quoi AV ne manquerait pas de répondre : pfff ! t'as même pas de vélo !

--
News://news.microsoft.com/microsoft.public.fr.excel
Allez en paix
T.Abile
"Mgr T. Banni" a écrit dans le message de
news:e%
heu...il n'y en a donc qu'une :-)
ça me fait vraiment penser au célèbre :
plus tu pédales moins lentement, moins tu avances plus rapidement
sans rancune aucune, michel!!!!
jps

"michdenis" a écrit dans le message de news:


Ceci étant, il n'y a rarement pas une seule façon de faire dans excel





Avatar
JB
Bonjour,

Utiiser Dictionnary + simple et + rapide

Sub DicoSansDoublons()
t = Timer()
Set mondico = CreateObject("Scripting.Dictionary")
n = 40000
For i = 1 To n
temp = Int(Rnd * n)
If Not mondico.Exists(temp) Then mondico.Add temp, temp
Next i
[a2].Resize(mondico.Count) = Application.Transpose(mondico.items)
MsgBox Timer() - t ' 0,25 sec
End Sub

JB
http://boigontierjacques.free.fr

On 18 fév, 12:16, "garnote" wrote:
Bonjour,

Peut-on transférer le tableau t dans SD
en éliminant les doublons, les triplons ... ;-)

Sub Way()

      Dim SD As NewCollection
      Dim t(1 To 10)
            For i = 1 To 10
                  t(i) = Int(5 * Rnd())
            Next i
      ' ...

End Sub

Serge


Avatar
garnote
Ave JB,

Utiiser Dictionnary + simple et + rapide
Et comment ! Merci.

Voir le fil « Rnd, Rnd() et Randomize 22/03/09 17:29 ».

Serge


"JB" a écrit dans le message de news:

Bonjour,

Utiiser Dictionnary + simple et + rapide

Sub DicoSansDoublons()
t = Timer()
Set mondico = CreateObject("Scripting.Dictionary")
n = 40000
For i = 1 To n
temp = Int(Rnd * n)
If Not mondico.Exists(temp) Then mondico.Add temp, temp
Next i
[a2].Resize(mondico.Count) = Application.Transpose(mondico.items)
MsgBox Timer() - t ' 0,25 sec
End Sub

JB
http://boigontierjacques.free.fr

On 18 fév, 12:16, "garnote" wrote:
Bonjour,

Peut-on transférer le tableau t dans SD
en éliminant les doublons, les triplons ... ;-)

Sub Way()

Dim SD As NewCollection
Dim t(1 To 10)
For i = 1 To 10
t(i) = Int(5 * Rnd())
Next i
' ...

End Sub

Serge


Avatar
JB
Bonjour,

Il y a pourtant un bouffon qui prétend que ce n'est pas le cas.

JB
On 22 mar, 23:06, "garnote" wrote:
Ave JB,

Utiiser Dictionnary + simple et + rapide
Et comment ! Merci.

Voir le fil « Rnd, Rnd() et Randomize   22/03/09   17:29 ».

Serge

"JB" a écrit dans le message de news:

Bonjour,

Utiiser Dictionnary + simple et + rapide

Sub DicoSansDoublons()
  t = Timer()
  Set mondico = CreateObject("Scripting.Dictionary")
  n = 40000
  For i = 1 To n
     temp = Int(Rnd * n)
     If Not mondico.Exists(temp) Then mondico.Add temp, temp
  Next i
  [a2].Resize(mondico.Count) = Application.Transpose(mondico.items)
  MsgBox Timer() - t   ' 0,25 sec
End Sub

JBhttp://boigontierjacques.free.fr

On 18 fév, 12:16, "garnote" wrote:



> Bonjour,

> Peut-on transférer le tableau t dans SD
> en éliminant les doublons, les triplons ... ;-)

> Sub Way()

> Dim SD As NewCollection
> Dim t(1 To 10)
> For i = 1 To 10
> t(i) = Int(5 * Rnd())
> Next i
> ' ...

> End Sub

> Serge- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
gmlsteph
Bonjour,

Ce n'est pas parceque tu n'as pas compris à mon propos du fil
précédent
que tu peux te permettre d'être à nouveau désagréable et insultant.
Je n'ai pas dénigré l' intérêt d'un script.dictionnary,
ce n'est pas pour autant que l'on doive se priver de Collection.
Quand à mon souci de coder proprement en déclarant mes variables,
j'ai bien compris que ce n'était pas ton fort ou pas ton souhait, mais
je persiste dans cette voie ne te déplaise.
Je trouve fort dommage que quelqu'un qui a pu produire un site comme
le tien (tu vois les maigres connaissances que tu me prettes me
permettent d'apprécier)
ne souhaite pas s'améliorer et affiche un tel comportement.
Avant de vouloir donner des leçons et te permettre de traiter les
autres de bouffons, il faudrait que tu fasses encore un bout de
chemin.
Ceux qui ont (amha) de réelles connaissances d'ailleurs affichent un
peu plus d'humilité et ont une attitude plus respectueuse.
J'espère que tu iras dans ce sens parceque là c'est du gâchis!

AmiCordialement (Ami.. un jour peut-être, Cordialement.. c'est déjà
mon souhait)

--
lSteph

On 23 mar, 07:10, JB wrote:
Bonjour,

Il y a pourtant un bouffon qui prétend que ce n'est pas le cas.

JB
On 22 mar, 23:06, "garnote" wrote:



> Ave JB,

> Utiiser Dictionnary + simple et + rapide
> Et comment ! Merci.

> Voir le fil « Rnd, Rnd() et Randomize   22/03/09   17:29 ».

> Serge

> "JB" a écrit dans le message de news:
>
> Bonjour,

> Utiiser Dictionnary + simple et + rapide

> Sub DicoSansDoublons()
>   t = Timer()
>   Set mondico = CreateObject("Scripting.Dictionary")
>   n = 40000
>   For i = 1 To n
>      temp = Int(Rnd * n)
>      If Not mondico.Exists(temp) Then mondico.Add temp, temp
>   Next i
>   [a2].Resize(mondico.Count) = Application.Transpose(mondico.items)
>   MsgBox Timer() - t   ' 0,25 sec
> End Sub

> JBhttp://boigontierjacques.free.fr

> On 18 fév, 12:16, "garnote" wrote:

> > Bonjour,

> > Peut-on transférer le tableau t dans SD
> > en éliminant les doublons, les triplons ... ;-)

> > Sub Way()

> > Dim SD As NewCollection
> > Dim t(1 To 10)
> > For i = 1 To 10
> > t(i) = Int(5 * Rnd())
> > Next i
> > ' ...

> > End Sub

> > Serge- Masquer le texte des messages précédents -

> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
JB
On croirait ton auto-portrait!
J'ai écris plusieurs ouvrages sur Pascal,LangageC,..(traduits en
plusieurs langues). La déclaration des variables, je connais.
Quand tu auras vendu un livre à 100.000 exemplaires, tu pourras venir
me donner des leçons.

http://boisgontierjacques.free.fr/pages_site/Musee.htm

JB

On 23 mar, 11:15, wrote:
Bonjour,

Ce n'est pas parceque tu n'as pas compris à mon propos du fil
précédent
que tu peux te permettre d'être à nouveau désagréable et insultan t.
Je n'ai pas dénigré l' intérêt d'un script.dictionnary,
ce n'est pas pour autant que l'on doive se priver de Collection.
Quand à mon souci de coder proprement en déclarant mes variables,
j'ai bien compris que ce n'était pas ton fort ou pas ton souhait, mais
je persiste dans cette voie ne te déplaise.
Je trouve fort dommage que quelqu'un qui a pu produire un site comme
le tien (tu vois les maigres connaissances que tu me prettes me
permettent d'apprécier)
ne souhaite pas s'améliorer et affiche un tel comportement.
Avant de vouloir donner des leçons et te permettre de traiter les
autres de bouffons, il faudrait que tu fasses encore un bout de
chemin.
Ceux qui ont (amha) de réelles connaissances  d'ailleurs affichent un
peu plus d'humilité et ont une attitude plus respectueuse.
J'espère que tu iras dans ce sens parceque là c'est du gâchis!

AmiCordialement (Ami.. un jour peut-être, Cordialement.. c'est déjà
mon souhait)

--
lSteph

On 23 mar, 07:10, JB wrote:



> Bonjour,

> Il y a pourtant un bouffon qui prétend que ce n'est pas le cas.

> JB
> On 22 mar, 23:06, "garnote" wrote:

> > Ave JB,

> > Utiiser Dictionnary + simple et + rapide
> > Et comment ! Merci.

> > Voir le fil « Rnd, Rnd() et Randomize   22/03/09   17:29 ».

> > Serge

> > "JB" a écrit dans le message de news:
> >
> > Bonjour,

> > Utiiser Dictionnary + simple et + rapide

> > Sub DicoSansDoublons()
> >   t = Timer()
> >   Set mondico = CreateObject("Scripting.Dictionary")
> >   n = 40000
> >   For i = 1 To n
> >      temp = Int(Rnd * n)
> >      If Not mondico.Exists(temp) Then mondico.Add temp, temp
> >   Next i
> >   [a2].Resize(mondico.Count) = Application.Transpose(mondico.item s)
> >   MsgBox Timer() - t   ' 0,25 sec
> > End Sub

> > JBhttp://boigontierjacques.free.fr

> > On 18 fév, 12:16, "garnote" wrote:

> > > Bonjour,

> > > Peut-on transférer le tableau t dans SD
> > > en éliminant les doublons, les triplons ... ;-)

> > > Sub Way()

> > > Dim SD As NewCollection
> > > Dim t(1 To 10)
> > > For i = 1 To 10
> > > t(i) = Int(5 * Rnd())
> > > Next i
> > > ' ...

> > > End Sub

> > > Serge- Masquer le texte des messages précédents -

> > - Afficher le texte des messages précédents -- Masquer le texte d es messages précédents -

> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
gmlsteph
Pour cela il faudrait que je sois aussi désagréable et insultant que
toi,
dans ton livre il doit manquer un chapitre sur le respect des autres..

Tes moi j'ai fait ci moi j'ai fait cela impressioneront qui veut....

ciao


On 23 mar, 12:06, JB wrote:
On croirait ton auto-portrait!
J'ai écris plusieurs ouvrages sur Pascal,LangageC,..(traduits  en
plusieurs langues). La déclaration des variables, je connais.
Quand tu auras vendu un livre à 100.000 exemplaires, tu pourras venir
me donner des leçons.

http://boisgontierjacques.free.fr/pages_site/Musee.htm

JB

On 23 mar, 11:15, wrote:



> Bonjour,

> Ce n'est pas parceque tu n'as pas compris à mon propos du fil
> précédent
> que tu peux te permettre d'être à nouveau désagréable et insult ant.
> Je n'ai pas dénigré l' intérêt d'un script.dictionnary,
> ce n'est pas pour autant que l'on doive se priver de Collection.
> Quand à mon souci de coder proprement en déclarant mes variables,
> j'ai bien compris que ce n'était pas ton fort ou pas ton souhait, mai s
> je persiste dans cette voie ne te déplaise.
> Je trouve fort dommage que quelqu'un qui a pu produire un site comme
> le tien (tu vois les maigres connaissances que tu me prettes me
> permettent d'apprécier)
> ne souhaite pas s'améliorer et affiche un tel comportement.
> Avant de vouloir donner des leçons et te permettre de traiter les
> autres de bouffons, il faudrait que tu fasses encore un bout de
> chemin.
> Ceux qui ont (amha) de réelles connaissances  d'ailleurs affichent un
> peu plus d'humilité et ont une attitude plus respectueuse.
> J'espère que tu iras dans ce sens parceque là c'est du gâchis!

> AmiCordialement (Ami.. un jour peut-être, Cordialement.. c'est déj à
> mon souhait)

> --
> lSteph

> On 23 mar, 07:10, JB wrote:

> > Bonjour,

> > Il y a pourtant un bouffon qui prétend que ce n'est pas le cas.

> > JB
> > On 22 mar, 23:06, "garnote" wrote:

> > > Ave JB,

> > > Utiiser Dictionnary + simple et + rapide
> > > Et comment ! Merci.

> > > Voir le fil « Rnd, Rnd() et Randomize   22/03/09   17:29 ».

> > > Serge

> > > "JB" a écrit dans le message de news:
> > >
> > > Bonjour,

> > > Utiiser Dictionnary + simple et + rapide

> > > Sub DicoSansDoublons()
> > >   t = Timer()
> > >   Set mondico = CreateObject("Scripting.Dictionary")
> > >   n = 40000
> > >   For i = 1 To n
> > >      temp = Int(Rnd * n)
> > >      If Not mondico.Exists(temp) Then mondico.Add temp, temp
> > >   Next i
> > >   [a2].Resize(mondico.Count) = Application.Transpose(mondico.it ems)
> > >   MsgBox Timer() - t   ' 0,25 sec
> > > End Sub

> > > JBhttp://boigontierjacques.free.fr

> > > On 18 fév, 12:16, "garnote" wrote:

> > > > Bonjour,

> > > > Peut-on transférer le tableau t dans SD
> > > > en éliminant les doublons, les triplons ... ;-)

> > > > Sub Way()

> > > > Dim SD As NewCollection
> > > > Dim t(1 To 10)
> > > > For i = 1 To 10
> > > > t(i) = Int(5 * Rnd())
> > > > Next i
> > > > ' ...

> > > > End Sub

> > > > Serge- Masquer le texte des messages précédents -

> > > - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -

> > - Afficher le texte des messages précédents -- Masquer le texte d es messages précédents -

> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Avatar
garnote
>Il y a pourtant un bouffon qui prétend que ce n'est pas le cas.


Pas très chic comme remarque !
Pourquoi tant de hargne ?

Serge
1 2 3