Question concernant Userform.show
Bonjour à tous,
Je vous soumet le problème suivant :
J'ouvre tout d'abord un Userform en mode ShowModal = False
Ensuite en passant d'une cellule à l'autre via la propriété événementielle Worksheet_SelectionChange, le Userform se met à jour automatiquement et affiche des données différentes à chaque changement de cellule. Tout se passe très bien et la mise à jour du Userform est instantanée sans que je doive recliquer dessus.
Voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim KeyCells As Range
Set KeyCells = Range("B6:B100)
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
Sheets("Formules").Range("L4").Value = ActiveCell.Value
End If
End Sub |
A présent, je souhaite que le Userform s'affiche et se masque selon qu'une des cellules B6 à B100 est sélectionnée ou pas, plutôt que de l'afficher pas un code séparé.
J'ai donc modifié mon code comme suit :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim KeyCells As Range
Set KeyCells = Range("B6:B100")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
UserForm1.Show
Sheets("Formules").Range("L4").Value = ActiveCell.Value
Else
Unload UserForm1
End If |
Cependant, je suis à présent contraint de cliquer sur la feuille après chaque changement de cellule. Car le UserForm prend le dessus.
Comment faire pour que puisse passer rapidement d'une cellule à l'autre avec flèche bas et voir les données affichées sur le Userform s'adapter instantanément sans que je doive au préalable cliquer sur la feuille entre chaque changement de cellule.
Merci pour votre aide. Fabian.