Bonjour,
Alors voilà: je bidouille un classeur pour faire un tirage au sort. Sur ma worksheet "chapeau", j'ai mes billets, sur "tirage" mes lots. Je veux que lorsque je suis sur la case à coté du lot dans "tirage", au clic sur le boutontir, le vba aille me chercher un ensemble de cellule au hasard sur "chapeau". Je suis à ce stade:
Mais "erreur 100"; j'ai fait différents essais au niveau des range source et cible ("Ax:Fx" ou "ActiveCell"). Mais rien ne marche. Serait-ce la méthode copy destination qui est en cause? Ou le fait de ne pas ordonner convenablement les étapes?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Private Sub boutontir_Click() Dim n As Integer Dim x As Integer Dim r As Integer r = ActiveCell.Row n = Application.WorksheetFunction.CountA(Worksheets("chapeau").Range("A:A")) 'pour limiter les valeurs de randomize à la plage d'existant Randomize x = Int(n * Rnd) + 2 'ça ça marche, en testant une msgbox je vois un nombre aléatoire dans la plage voulue Worksheets("chapeau").Range(Cells(x, 1), Cells(x, 6)).Copy Destination:=Worksheets("tirage").Range(Cells(r, 3), Cells(r, 8)) 'c'est là que ça coince End Sub
Partager