Excel : sélection cellule aléatoire vide
Gedou
-
Gedou -
Gedou -
Bonjour tout le monde,
J'ai créé cette petite macro :
Sub Gedou()
ligne = ActiveCell.Row
soluce = Worksheets("solutions").Cells(ligne, 1).Value
ActiveCell.FormulaR1C1 = "Gedou"
ActiveCell.AddComment
ActiveCell.Comment.Visible = False
ActiveCell.Comment.Text Text:=soluce
ActiveCell.Offset(1, 0).Select
End Sub
Pour résumer, il y a des questions en colonne A (de A10 à A20 par exemple), je sélectionne la cellule B10, puis clique sur un bouton auquel est affecté la macro ci-dessus. Cela affiche "Gedou" en B10 (+ création commentaire avec la réponse) et sélectionne la cellule B11 ( ActiveCell.Offset(1, 0).Select ).
Ma question principale : plutôt qu'il passe à la cellule du dessous, je voudrai qu'il sélectionne au hasard n'importe quelle cellule encore vide de B10 à B20.
Question 2 : pour éviter un bug probable : quand je réponds dans la dernière cellule non-vide, affichage d'un pop-up (me proposant de vider les réponses ou de ne rien faire par exemple) ou bien arrêt de la macro afin d'éviter qu'il cherche indéfiniment une cellule vide (qu'il ne peut plus trouver, de fait).
Vous remerciant déjà de l'éclairage que vous pourrez me fournir, je vous souhaite une bonne fin de week-end !
Gédou
J'ai créé cette petite macro :
Sub Gedou()
ligne = ActiveCell.Row
soluce = Worksheets("solutions").Cells(ligne, 1).Value
ActiveCell.FormulaR1C1 = "Gedou"
ActiveCell.AddComment
ActiveCell.Comment.Visible = False
ActiveCell.Comment.Text Text:=soluce
ActiveCell.Offset(1, 0).Select
End Sub
Pour résumer, il y a des questions en colonne A (de A10 à A20 par exemple), je sélectionne la cellule B10, puis clique sur un bouton auquel est affecté la macro ci-dessus. Cela affiche "Gedou" en B10 (+ création commentaire avec la réponse) et sélectionne la cellule B11 ( ActiveCell.Offset(1, 0).Select ).
Ma question principale : plutôt qu'il passe à la cellule du dessous, je voudrai qu'il sélectionne au hasard n'importe quelle cellule encore vide de B10 à B20.
Question 2 : pour éviter un bug probable : quand je réponds dans la dernière cellule non-vide, affichage d'un pop-up (me proposant de vider les réponses ou de ne rien faire par exemple) ou bien arrêt de la macro afin d'éviter qu'il cherche indéfiniment une cellule vide (qu'il ne peut plus trouver, de fait).
Vous remerciant déjà de l'éclairage que vous pourrez me fournir, je vous souhaite une bonne fin de week-end !
Gédou
A voir également:
- Excel : sélection cellule aléatoire vide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
- Excel trier par ordre croissant chiffre - Guide
4 réponses
bonjour alors je vais commencer par la question B pour compter le nombre de cellule de B10 a B20:
w = WorksheetFunction.CountBlank(Range("B10:B20"))
if w =0 then exit sub
voila deja cela evite qu il cherche une vide alors qu il ni en a pas !!!
alors pour la 1ere question c chaud qd meme qu'il trouve une cellule vide au hasard mais je cherche
w = WorksheetFunction.CountBlank(Range("B10:B20"))
if w =0 then exit sub
voila deja cela evite qu il cherche une vide alors qu il ni en a pas !!!
alors pour la 1ere question c chaud qd meme qu'il trouve une cellule vide au hasard mais je cherche
re c bon g trouvé un petit bout de code mais g besoin de savoir de quel cellule a quel cellule tu as besoin du code
voila un code a toi de l'adapter:
topmaj = False
Do Until i = 10000 Or topmaj = True
Randomize
Z = Int((Rnd * Now) / 1000)
If Z = 0 Then Z = 1
If Cells(Z, 2).Value = "" And Z < 20 Then
Cells(Z, 2).Select
topmaj = True
Else
i = i + 1
End If
Loop
le and Z<20 20 representela derniere ligne sur laquel tu veux allé g pas mis de 1ere ligne a toi de me dire
voila g tester il marche tres bien
topmaj = False
Do Until i = 10000 Or topmaj = True
Randomize
Z = Int((Rnd * Now) / 1000)
If Z = 0 Then Z = 1
If Cells(Z, 2).Value = "" And Z < 20 Then
Cells(Z, 2).Select
topmaj = True
Else
i = i + 1
End If
Loop
le and Z<20 20 representela derniere ligne sur laquel tu veux allé g pas mis de 1ere ligne a toi de me dire
voila g tester il marche tres bien