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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : 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 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.
Partager