OVH Cloud OVH Cloud

Re: tirage au sort

1 réponse
Avatar
papyty
Salut Lucho

"Lucho" <arnera@club-internet.fr> a écrit dans le message de news:
3f5227ce$0$20950$7a628cd7@news.club-internet.fr...
> absolument genial ton truc, ou a tu appris le VBA ? je vais commander un
> bouquin pour m'y mettre, effectivement ca devient indispensable.

J'ai apris le VBA sur ce groupe et en consultant les différants sites dédiés
comme
http://www.excelabo.net/xl/debuter.htm
pas besoin de bouquin, utiliser le plus possible l'enregistreur de macro,
essayé de comprendre les macros et les adapter, consulter les sites, faire
des recherche (comme Google) poser des quetions quand on est bloqué.
Bref pour apprendre il faut se casser la tête dessus et ça rentre.

> pour continuer comme tu a l'air vraiment tres bon,
Pas du tout je n'ai découvert VBA en Mars 2003


est il possible de faire
> reference a la valeur d'une cellule dans une macro,

Voici ce que ça donne avec une valeur en D1

Sub zz_TirXX()
Dim DerCel As Long
Application.ScreenUpdating = False
DerCel = Range("a65536").End(xlUp).Row
If DerCel < 2 Then Exit Sub
Range("B1:B" & Range("b65536").End(xlUp).Row).Select
Selection.Delete Shift:=xlShiftUp
Range("B1:B" & DerCel) = "=rand()"
Range("A1:B" & DerCel).Sort Key1:=[B1], Order1:=xlAscending
Range("B1:B" & DerCel) = Range("A1:A" & DerCel).Value
Range("A1:A" & DerCel).Sort Key1:=[A1], Order1:=xlAscending
If Int(DerCel / 2) <> DerCel / 2 Then
Range("B" & DerCel + 1) = Range("B" & DerCel)
Range("B" & DerCel) = "Qualifié"
Range("B" & DerCel).Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = False
End With
Selection.Font.Bold = True
Selection.Font.Italic = True
Selection.Font.Underline = xlUnderlineStyleSingle
Selection.Font.ColorIndex = 3
Range("B" & DerCel + 1).Select
Selection.Font.ColorIndex = 3
End If
Nombre = Range("D1")
If Nombre <> "" And IsNumeric(Nombre) = True And Nombre < DerCel Then
Range("B" & Nombre + 1 & ":B" & Range("b65536").End(xlUp).Row).Select
Selection.Delete Shift:=xlShiftUp
DerCel = Range("b65536").End(xlUp).Row
If Int(DerCel / 2) <> DerCel / 2 Then
Range("B" & DerCel + 1) = Range("B" & DerCel)
Range("B" & DerCel) = "Qualifié"
Range("B" & DerCel).Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = False
End With
Selection.Font.Bold = True
Selection.Font.Italic = True
Selection.Font.Underline = xlUnderlineStyleSingle
Selection.Font.ColorIndex = 3
Range("B" & DerCel + 1).Select
Selection.Font.ColorIndex = 3
End If
End If
Application.ScreenUpdating = True
Range("B1").Select
End Sub

@+
Thierry





et faire un tirage au
> sort aleatoire comme tu vient de le faire dans ton code precedent d'autant
> de nombre que la valeur de la cellule...ex D1 contient le chiffre 8, donc
la
> macro me sort 8 chiffre selectionne dans la liste.
>
> je sait je suis compliqué je ne pense pas aller jusque la mais je profite
de
> ton savoir pour faire evoluer le truc au maximum.
>
> encore merci A+
>
> Lucho

1 réponse

Avatar
Lucho
eh bien encore merci, je vais garder ton adresse si ca ne t'ennuis pas, peut
etre qu'en cas de bloquage VBA tu pourrai m'aider.

le dernier que tu viens de m'envoyer marche tres bien, je vais refaire mon
classeur completement en radaptant tes code si j'y arrive, pour voir si il
ne me manque rien en simulant un concours complet, je te tien au courant ces
prochain jours.

merci surement a tres bientot

A+

Luc
"papyty" a écrit dans le message de news:
uvVre8$
Salut Lucho

"Lucho" a écrit dans le message de news:
3f5227ce$0$20950$
absolument genial ton truc, ou a tu appris le VBA ? je vais commander un
bouquin pour m'y mettre, effectivement ca devient indispensable.


J'ai apris le VBA sur ce groupe et en consultant les différants sites
dédiés

comme
http://www.excelabo.net/xl/debuter.htm
pas besoin de bouquin, utiliser le plus possible l'enregistreur de macro,
essayé de comprendre les macros et les adapter, consulter les sites, faire
des recherche (comme Google) poser des quetions quand on est bloqué.
Bref pour apprendre il faut se casser la tête dessus et ça rentre.

pour continuer comme tu a l'air vraiment tres bon,
Pas du tout je n'ai découvert VBA en Mars 2003



est il possible de faire
reference a la valeur d'une cellule dans une macro,


Voici ce que ça donne avec une valeur en D1

Sub zz_TirXX()
Dim DerCel As Long
Application.ScreenUpdating = False
DerCel = Range("a65536").End(xlUp).Row
If DerCel < 2 Then Exit Sub
Range("B1:B" & Range("b65536").End(xlUp).Row).Select
Selection.Delete Shift:=xlShiftUp
Range("B1:B" & DerCel) = "=rand()"
Range("A1:B" & DerCel).Sort Key1:=[B1], Order1:=xlAscending
Range("B1:B" & DerCel) = Range("A1:A" & DerCel).Value
Range("A1:A" & DerCel).Sort Key1:=[A1], Order1:=xlAscending
If Int(DerCel / 2) <> DerCel / 2 Then
Range("B" & DerCel + 1) = Range("B" & DerCel)
Range("B" & DerCel) = "Qualifié"
Range("B" & DerCel).Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = False
End With
Selection.Font.Bold = True
Selection.Font.Italic = True
Selection.Font.Underline = xlUnderlineStyleSingle
Selection.Font.ColorIndex = 3
Range("B" & DerCel + 1).Select
Selection.Font.ColorIndex = 3
End If
Nombre = Range("D1")
If Nombre <> "" And IsNumeric(Nombre) = True And Nombre < DerCel Then
Range("B" & Nombre + 1 & ":B" & Range("b65536").End(xlUp).Row).Select
Selection.Delete Shift:=xlShiftUp
DerCel = Range("b65536").End(xlUp).Row
If Int(DerCel / 2) <> DerCel / 2 Then
Range("B" & DerCel + 1) = Range("B" & DerCel)
Range("B" & DerCel) = "Qualifié"
Range("B" & DerCel).Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = False
End With
Selection.Font.Bold = True
Selection.Font.Italic = True
Selection.Font.Underline = xlUnderlineStyleSingle
Selection.Font.ColorIndex = 3
Range("B" & DerCel + 1).Select
Selection.Font.ColorIndex = 3
End If
End If
Application.ScreenUpdating = True
Range("B1").Select
End Sub

@+
Thierry





et faire un tirage au
sort aleatoire comme tu vient de le faire dans ton code precedent
d'autant


de nombre que la valeur de la cellule...ex D1 contient le chiffre 8,
donc


la
macro me sort 8 chiffre selectionne dans la liste.

je sait je suis compliqué je ne pense pas aller jusque la mais je
profite


de
ton savoir pour faire evoluer le truc au maximum.

encore merci A+

Lucho