Re: tirage au sort
Le
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 celluleex 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
"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 celluleex 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

Poser une question


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" uvVre8$