Dim.Reichart
XLDnaute Occasionnel
Bonjour,
Je refais un post, car celui-ci n'a plus grand chose à voir avec ma demande.
Comme dit là-bas, une userform n'est visiblement pas de mon niveau actuel, donc je me suis orienté sur la solution conseillée par @Ikito pour mes choix, à savoir, faire apparaître autant de formes que de choix possibles, enregistrer la forme cliquée, puis continuer.
Voici le code, présent dans le module 2 du fichier exercice joint:
Le problème que j'ai c'est que la macro se termine avant qu'un choix ne soit éffectué.
If Q<>"" est ignoré puisque la condition est fausse, et la macro passe à traavers pour aller directement à End Sub.
Comment puis-je faire pour geler son déroulement jusqu'à ce qu'un choix soit sélectionné?
J'ai essayé avec un Else Loop, mais cela donne une boucle infinie et le choix est impossible à faire.
Merci d'avance.
Je refais un post, car celui-ci n'a plus grand chose à voir avec ma demande.
Comme dit là-bas, une userform n'est visiblement pas de mon niveau actuel, donc je me suis orienté sur la solution conseillée par @Ikito pour mes choix, à savoir, faire apparaître autant de formes que de choix possibles, enregistrer la forme cliquée, puis continuer.
Voici le code, présent dans le module 2 du fichier exercice joint:
VB:
Option Explicit
Sub Test()
Dim SR As Long, Q As String, MsgValue
Ligne1:
Q = ""
'Afficher les choix cliquables
For SR = 1 To 2 Step 1
ActiveSheet.Shapes.Range(Array("Choix" & SR)).Visible = True
Next SR
'Enregistrer le choix sélectionné
If Q <> "" Then
MsgValue = MsgBox("Confirmer le " & Q, vbYesNoCancel)
If MsgValue = vbCancel Then
Exit Sub
ElseIf MsgValue = vbNo Then
GoTo Ligne1
ElseIf MsgValue = vbYes Then
Range("a1") = Q
'Cacher les choix
For SR = 1 To 2 Step 1
Worksheets("kpi").Shapes.Range(Array("Choix" & SR)).Visible = False
Next SR
End If
End If
End Sub
Sub Choix1(Q)
Q = "Choix A"
End Sub
Sub Choix2(Q)
Q = "Choix B"
End Sub
If Q<>"" est ignoré puisque la condition est fausse, et la macro passe à traavers pour aller directement à End Sub.
Comment puis-je faire pour geler son déroulement jusqu'à ce qu'un choix soit sélectionné?
J'ai essayé avec un Else Loop, mais cela donne une boucle infinie et le choix est impossible à faire.
Merci d'avance.