OVH Cloud OVH Cloud

Le plus petit....et le plus grand.

9 réponses
Avatar
STEPHANE
Bonsoir,

J'ai une colonne de valeurs (10000lignes) je souhaiterais extraire la plus
petite valeur...et la plus grande...

Merci de votre aide.

Stéphane.

9 réponses

Avatar
DanC
Bonjour Stéphane

la plus petite =min(plagede10000lignes)
la plus grande =max(plagede10000lignes)

Bonne chance!
Danielle
"STEPHANE" a écrit dans le message de news:
43161b43$0$167$
Bonsoir,

J'ai une colonne de valeurs (10000lignes) je souhaiterais extraire la plus
petite valeur...et la plus grande...

Merci de votre aide.

Stéphane.



Avatar
LSteph
bonsoir,

=min(A:A)
=max(A:A)

lSteph

"STEPHANE" a écrit dans le message de news:
43161b43$0$167$
Bonsoir,

J'ai une colonne de valeurs (10000lignes) je souhaiterais extraire la plus
petite valeur...et la plus grande...

Merci de votre aide.

Stéphane.



Avatar
Modeste
Bonsour® STEPHANE
plutot hors sujet (tirages sur 10 colonnes), mais une synthèse des esssais
précedents (modeste+laurent)
http://cjoint.com/?jbaxCQhJ16

un click sur le textbox pour générer une nouvelle répartition ...
Accepte en colonne A plus de 30000 valeurs (texte ou num)
+ Un graphe qui reprend la répartition de la 1ere serie colonne B à
dupliquer pour les autres colonnes
actuellement 300 valeurs num sinon modifier les bornes de la serie
$B$1:$B$xxxx

--
n'oubliez pas les FAQ :
http://www.excelabo.net http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr
--
Feed Back
http://viadresse.com/?94912042
Avatar
STEPHANE
Bonsoir Danielle,

Merci et je dois dire que c'est presque un merci de confusion tant la
solution est simple....et que je n'ai peut-être pas chercher suffisamment.

Merci

Stéphane.
"DanC" a écrit dans le message de news:
urXD$
Bonjour Stéphane

la plus petite =min(plagede10000lignes)
la plus grande =max(plagede10000lignes)

Bonne chance!
Danielle
"STEPHANE" a écrit dans le message de
news: 43161b43$0$167$
Bonsoir,

J'ai une colonne de valeurs (10000lignes) je souhaiterais extraire la
plus petite valeur...et la plus grande...

Merci de votre aide.

Stéphane.







Avatar
STEPHANE
Bonsoir lSteph,

Même remarque que pour DanC...au regard de la solution j'ai presque honte de
la question. :o)...

Merci

Stéphane.
"LSteph" a écrit dans le message de news:

bonsoir,

=min(A:A)
=max(A:A)

lSteph

"STEPHANE" a écrit dans le message de
news: 43161b43$0$167$
Bonsoir,

J'ai une colonne de valeurs (10000lignes) je souhaiterais extraire la
plus petite valeur...et la plus grande...

Merci de votre aide.

Stéphane.







Avatar
LSteph
Bonsoir Stephane,

Il aurait été beaucoup plus long et dommage de ne pas la poser.
Si tu regarde bien tout ceux qui répondent ou viennent sur ce forum
se gardent bien d'hésiter lorsqu'ils ont une question!
Et merci d'accuser retour comme tu le fais à ceux qui ont essayé!

A+

lSteph





"STEPHANE" a écrit dans le message de news:
431750ee$0$161$
Bonsoir lSteph,

Même remarque que pour DanC...au regard de la solution j'ai presque honte
de la question. :o)...

Merci

Stéphane.
"LSteph" a écrit dans le message de news:

bonsoir,

=min(A:A)
=max(A:A)

lSteph

"STEPHANE" a écrit dans le message de
news: 43161b43$0$167$
Bonsoir,

J'ai une colonne de valeurs (10000lignes) je souhaiterais extraire la
plus petite valeur...et la plus grande...

Merci de votre aide.

Stéphane.











Avatar
STEPHANE
Bonjour, Modeste et Laurent,

Tout d'abord, merci pour votre travail, qui m'est très précieux.

Votre dernière macro :

Sub Stephane()
Dim Tabl
Dim addr As String
Dim I As Integer, J As Integer
Dim resultat As Range
redonne:
Range("B:L").ClearContents
Application.ScreenUpdating = False
Randomize
nombrevaleurs = CInt(InputBox("nombre de données (multiple de 10)",
"Repartion aléatoire", Evaluate("CountA(" & "a:a" & ")")))
If Int(nombrevaleurs / 10) <> nombrevaleurs / 10 Then GoTo redonne
nombrelignes = Int(nombrevaleurs / 10)
For I = 1 To nombrevaleurs
Cells(I, 12) = Rnd()
Next
addr = ActiveSheet.Range(Cells(1, 12), Cells(nombrevaleurs, 12)).Address()
Set resultat = Range(Cells(1, 2), Cells(nombrelignes, 11))
Tabl = Evaluate("TRANSPOSE(RANK(" & addr & "," & addr & "))")
J = 1
For Each cellule In resultat.Cells
cellule.Value = Cells(Tabl(J), 1)
Application.StatusBar = cellule.Address() & " " & cellule.Value
J = J + 1
Next
Application.ScreenUpdating = True

End Sub

Mes questions :

1- Vous avez une mise en forme conditionnelle de type
NB.SI($B$1;$K$100;Xxx)>1 qui fait apparaitre certaine cellule en rouge.
Est-ce pour repérer les doublons ? et dans ce cas les doublons sont-ils
issus de A ou sont-ils pas une redondance de la distribution aléatoire ?
Il y a dans ma colonne A, qui sont des mesures, des doublons inévitables,
quels sont les problèmes que cela génère et comment faire pour pouvoir les
traiter ?

2 - Si je souhaite avoir une distribution sur 20 colonnes que dois je
modifier dans la macro.

3- Pour 1000 lignes en A le traitement est instantatané avec le système sans
macro, le même traitement avec la macro ci-dessus prend 2 à 3 minutes
pourquoi une telle différence ?

Merci de vos réponse

Cordialement.

Stéphane.
"Modeste" a écrit dans le message de news:

Bonsour® STEPHANE
plutot hors sujet (tirages sur 10 colonnes), mais une synthèse des esssais
précedents (modeste+laurent)
http://cjoint.com/?jbaxCQhJ16

un click sur le textbox pour générer une nouvelle répartition ...
Accepte en colonne A plus de 30000 valeurs (texte ou num)
+ Un graphe qui reprend la répartition de la 1ere serie colonne B à
dupliquer pour les autres colonnes
actuellement 300 valeurs num sinon modifier les bornes de la serie
$B$1:$B$xxxx

--
n'oubliez pas les FAQ :
http://www.excelabo.net http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr
--
Feed Back
http://viadresse.com/?94912042



Avatar
Modeste
Bonsour® STEPHANE
Mes questions :
1- Vous avez une mise en forme conditionnelle de type
NB.SI($B$1;$K$100;Xxx)>1 qui fait apparaitre certaine cellule en
rouge. Est-ce pour repérer les doublons ? et dans ce cas les doublons
sont-ils issus de A ou sont-ils pas une redondance de la distribution
aléatoire ?


Oupsss!!! cette MEFC n'est pas dans la macro, c'est donc un résidu de test
que j'ai omis d'effacer dans la piece jointe.
et comme indiqué ne concerne que la zone résultat (qui est ici
figée..$B$1:$K$100.)

Il y a dans ma colonne A, qui sont des mesures, des doublons
inévitables, quels sont les problèmes que cela génère et comment faire
pour pouvoir les traiter ?


cela ne devrait pas gener puisque le classement se fait sur le tirage
aléatoire qui lui est different de la colonne 1 (données)

2 - Si je souhaite avoir une distribution sur 20 colonnes que dois je
modifier dans la macro.



'les résultats en colonne 2 à 21
Sub Stephane()
Dim Tabl
Dim addr As String
Dim I As Integer, J As Integer
Dim resultat As Range
redonne:
Range("B:X").ClearContents
Application.ScreenUpdating = False
Randomize
'-----------pour 20 colonnes
nombrevaleurs = CInt(InputBox("nombre de données (multiple de 20)",
"Repartion aléatoire", Evaluate("CountA(" & "a:a" & ")")))
If Int(nombrevaleurs / 20) <> nombrevaleurs / 20 Then GoTo redonne
nombrelignes = Int(nombrevaleurs / 20)
'-----------------le tirage aleatoire en colonne 22
For I = 1 To nombrevaleurs
Cells(I, 22) = Rnd()
Next
addr = ActiveSheet.Range(Cells(1, 22), Cells(nombrevaleurs, 22)).Address()
'-----------------les résultats en colonne 2 à 21
Set resultat = Range(Cells(1, 2), Cells(nombrelignes, 21))
Tabl = Evaluate("TRANSPOSE(RANK(" & addr & "," & addr & "))")
J = 1
For Each cellule In resultat.Cells
cellule.Value = Cells(Tabl(J), 1)
Application.StatusBar = cellule.Address() & " " & cellule.Value
J = J + 1
Next
'-----pour accélerer la boucle ci-dessus (voir le lien
http://xcell05.free.fr/pages/prog/accvba.htm#Tableaux
'----- il serait ici possible de redistribuer Tabl dans un second tableau à
20 colonnes
'----- puis de coller ce deuxieme tableau dans la plage résultat

Application.ScreenUpdating = True

End Sub

3- Pour 1000 lignes en A le traitement est instantatané avec le
système sans macro, le même traitement avec la macro ci-dessus prend
2 à 3 minutes pourquoi une telle différence ?


c'est un fait que souvent les calculs de feuille sont plus rapide que les
boucles de calculs VBA

mais rassures-toi au-dela de 5000 formules à recalculer il y a de forte
chance que VBA reprennne l'avantage.
une bonne lecture là :
http://xcell05.free.fr/pages/prog/accvba.htm
;o)))

@+

Avatar
STEPHANE
Bonjour Modeste,

C'est parfait. Je suis très content, il ne me reste plus qu'à exploiter au
mieux les résultats, ce qui me fera poser assurément d'autres
questions...;o))))

Mille merci pour cette aide infiniment précieuse.

Stéphane.
"Modeste" a écrit dans le message de news:
%
Bonsour® STEPHANE
Mes questions :
1- Vous avez une mise en forme conditionnelle de type
NB.SI($B$1;$K$100;Xxx)>1 qui fait apparaitre certaine cellule en
rouge. Est-ce pour repérer les doublons ? et dans ce cas les doublons
sont-ils issus de A ou sont-ils pas une redondance de la distribution
aléatoire ?


Oupsss!!! cette MEFC n'est pas dans la macro, c'est donc un résidu de test
que j'ai omis d'effacer dans la piece jointe.
et comme indiqué ne concerne que la zone résultat (qui est ici
figée..$B$1:$K$100.)

Il y a dans ma colonne A, qui sont des mesures, des doublons
inévitables, quels sont les problèmes que cela génère et comment faire
pour pouvoir les traiter ?


cela ne devrait pas gener puisque le classement se fait sur le tirage
aléatoire qui lui est different de la colonne 1 (données)

2 - Si je souhaite avoir une distribution sur 20 colonnes que dois je
modifier dans la macro.



'les résultats en colonne 2 à 21
Sub Stephane()
Dim Tabl
Dim addr As String
Dim I As Integer, J As Integer
Dim resultat As Range
redonne:
Range("B:X").ClearContents
Application.ScreenUpdating = False
Randomize
'-----------pour 20 colonnes
nombrevaleurs = CInt(InputBox("nombre de données (multiple de 20)",
"Repartion aléatoire", Evaluate("CountA(" & "a:a" & ")")))
If Int(nombrevaleurs / 20) <> nombrevaleurs / 20 Then GoTo redonne
nombrelignes = Int(nombrevaleurs / 20)
'-----------------le tirage aleatoire en colonne 22
For I = 1 To nombrevaleurs
Cells(I, 22) = Rnd()
Next
addr = ActiveSheet.Range(Cells(1, 22), Cells(nombrevaleurs, 22)).Address()
'-----------------les résultats en colonne 2 à 21
Set resultat = Range(Cells(1, 2), Cells(nombrelignes, 21))
Tabl = Evaluate("TRANSPOSE(RANK(" & addr & "," & addr & "))")
J = 1
For Each cellule In resultat.Cells
cellule.Value = Cells(Tabl(J), 1)
Application.StatusBar = cellule.Address() & " " & cellule.Value
J = J + 1
Next
'-----pour accélerer la boucle ci-dessus (voir le lien
http://xcell05.free.fr/pages/prog/accvba.htm#Tableaux
'----- il serait ici possible de redistribuer Tabl dans un second tableau
à 20 colonnes
'----- puis de coller ce deuxieme tableau dans la plage résultat

Application.ScreenUpdating = True

End Sub

3- Pour 1000 lignes en A le traitement est instantatané avec le
système sans macro, le même traitement avec la macro ci-dessus prend
2 à 3 minutes pourquoi une telle différence ?


c'est un fait que souvent les calculs de feuille sont plus rapide que les
boucles de calculs VBA

mais rassures-toi au-dela de 5000 formules à recalculer il y a de forte
chance que VBA reprennne l'avantage.
une bonne lecture là :
http://xcell05.free.fr/pages/prog/accvba.htm
;o)))

@+