Ouverture d'un userform à l'activation d'une cellule

Salut le forum,

comment puis-je ouvrir un USF en activant une cellule dans une plage de cellule?

Supposons la plage A1:A10. Si je clique dans une cellule de cette plage, j'aimerais qu'un USF s'affiche. J'aimerais que l'action se réalise à la sélection et non après un double clique.

Est-ce possible?

Merci pour votre aide.

Bonjour Eric,

C'est bien sûr possible, en utilisant un "SelectionChange" plutôt qu'un "BeforeDoubleClick"

Ca va te donner un truc du genre

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
UserForm1.Show
End If
End Sub

A+, Sylvain

Bonjour,

essaye ce code :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Macro Dan pour Ericf - le 09/12/08
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
UserForm1.Show
End If
End Sub

Code à placer dans la feuille reprenan la plage de cellule concernée

Amicalement

Dan

Edit : oups Sylvain...déso je n'avais pas vu que tu avais posté. Bon ap.

Merci à vous deux, ça fonctionne très bien.

Autre question dans la même lignée :

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
If Not Intersect(Target, Range("A1:A10")) Is Nothing Then 
UserForm1.Show 
End If 
If Not Intersect(Target, Range("A15:A20")) Is Nothing Then 
UserForm1.Show 
End If 
If Not Intersect(Target, Range("C1:C10")) Is Nothing Then 
UserForm1.Show 
End If 
End Sub 

Plutôt que de toujours répéter le code comme ci-haut, je suppose qu'il y a un façon plus saine de l'écrire.

Ok les gars, laissez faire, je n'ai rien dit.

Preuve que j'ai appris quelque chose ici :

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
If Not Intersect(Target, Range("A1:A10, A15:A20, C1:C10")) Is Nothing Then 
UserForm1.Show 
End If 
End Sub 

Merci encore.

Salut le forum

Eric , dans Cours et Astuces tu as plusieurs possibilités.

Mytå

Rechercher des sujets similaires à "ouverture userform activation"