Rebonjour tout le monde,
J'ai fait une petite macro et j'ai un problème :
1 - C'est un QCM. L'utilisateur choisit une réponse parmi celles proposées en cliquant dessus. Dans la cellule apparaît sa réponse puis un commentaire et, dans une autre cellule, une définition. Voici ma macro pour vous éclairer :
En gros, après avoir affiché soluce + commentaire, il affiche un Userform. On clique dessus pour qu'il continue la macro.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 Sub ier() w = WorksheetFunction.CountBlank(Range("c11:c619")) If w = 0 Then Exit Sub ligne = ActiveCell.Row soluce = Worksheets("solutions").Cells(ligne, 6).Value ActiveCell.FormulaR1C1 = "IER" ActiveCell.AddComment With ActiveCell.Comment.Shape .Width = 64 'Largeur commentaire .Height = 14 'Hauteur .OLEFormat.Object.Font.Size = 11 'Taille du texte ' .OLEFormat.Object.Interior.Color = RGB(Worksheets("solutions").Cells(ligne, 6).Value) 'Couleur de fond .TextFrame.Characters.Font.ColorIndex = 1 'Couleur de la police ' .TextFrame.Characters.Font.Bold = True 'Ecriture gras .OLEFormat.Object.Font.Name = "Times New Roman" 'Type de police End With ActiveCell.Comment.Visible = True ActiveCell.Comment.Text Text:=soluce ActiveCell.Comment.Shape.Select True Selection.ShapeRange.Left = ActiveCell.Left + 0 Selection.ShapeRange.Top = ActiveCell.Top - 0 ' Selection.ShapeRange.Fill.ForeColor.SchemeColor = Worksheets("solutions").Cells(ligne, 6).Value Au_suivant Do Until i = 10000 Or topmaj = True Randomize Z = Int((Rnd * Now) / 64) If Z = 0 Then Z = 1 If Cells(Z, 3).Value = "" And Z < 620 Then Cells(Z, 3).Select topmaj = True Else i = i + 1 End If Loop End Sub Sub Au_suivant() UserForm1.Show End Sub
Mon souci : tant que l'Userform est affiché, je n'ai plus la main. Je voudrais juste que la macro n'avance pas tant que j'ai pas cliqué sur l'Userform (je peux sélectionner une autre cellule pendant ce temps par exemple) et qu'elle ne continue ("Au_Suivant"), comme maintenant, qu'après que j'ai cliqué.
J'ai essayé en non-modal : il me laisse la main mais continue la macro (je peux laisser une tempo mais ce n'est pas le but)
Une idée, les champions ?
Merci et au plaisir !
Partager