Limiter apparition UF à une zone

Résolu/Fermé
touroul Messages postés 465 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 29 janvier 2024 - Modifié par touroul le 26/12/2015 à 17:29
touroul Messages postés 465 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 29 janvier 2024 - 26 déc. 2015 à 21:37
Salut le forum,

Je ne parviens pas à limiter l'apparition d'un UF à une colonne spécifique (en Worksheet_SelectionChange).

J'en suis là :
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal sel As Range)
Dim LastMetro As Range
If Not LastMetro Is Nothing Then
MonUF.Show
End If
End Sub


Pouvez-vous m'indiquer comment faire pour :
1- Limiter l'apparition de MonUF à la plage nommée "LastMetro"
2- Limiter l'apparition de MonUF à la colonne F

Je vous remercie par avance pour l'aide apportée (c'est une question qui m'a souvent posé problème).

4 réponses

Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 076
26 déc. 2015 à 18:04
Bonsoir,

si j'ai bien compris ta demande, essaye comme cela

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal sel As Range)
Dim LastMetro As Range
If Not Application.Intersect(Selection, Range("LastMetro")) Is Nothing Then
MonUF.Show
End If
End Sub


0
touroul Messages postés 465 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 29 janvier 2024 15
Modifié par touroul le 26/12/2015 à 20:14
Bonsoir Mike

Merci beaucoup, c'est ça, j'ai maintenant compris la syntaxe.
Juste pour ma culture, deux questions :

1- Si j'écris :
 Dim LastMetro As Range, NomClient As Range
If Not Application.Intersect(Selection, Range("LastMetro,NomClient")) Is Nothing Then
pour faire apparaître mon UF dans ces 2 zones nommées, la syntaxe est-elle correcte ?

2- Si j'écris :
 Dim LastMetro As Range, NomClient As Range
If Not Application.Intersect(Selection, Columns"F") Is Nothing Then
pour limiter l'apparition de mon UF à la colonne F, la syntaxe est-elle correcte ?

Merci pour le SAV :)
0
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 076
26 déc. 2015 à 20:17
Re,
Pour la première question afin d'activer l'userform à partir de deux plages
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal sel As Range)
Dim LastMetro As Range
If Not Application.Intersect(Selection, Union(Range("LastMetro"), Range("NomClient"))) Is Nothing Then
MonUF.Show
End If
End Sub


à partir de la colonne F
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal sel As Range)
Dim LastMetro As Range
If Not Application.Intersect(Selection, Range("F:F")) Is Nothing Then
MonUF.Show
End If
End Sub
0
touroul Messages postés 465 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 29 janvier 2024 15
26 déc. 2015 à 20:52
Génial

C'était un poil plus compliqué que ce que j'avais imaginé.
Merci mille fois cher ami. Tu ne t'en souviens sûrement plus mais tu m'as déjà sorti du pétrin plus d'une fois.

Ça me tenait d'autant plus à cœur que ces sélections m'ont déjà bloqué trop souvent.

Bonne soirée à toi, au plaisir de te retrouver sur ce forum.
0
Mike-31 Messages postés 18318 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 26 avril 2024 5 076
Modifié par Mike-31 le 26/12/2015 à 21:00
Re,

un petit complément d'information, si tu veux pouvoir te déplacer ou travailler sur ta feuille alors que l'userform est active, dans les propriétés de l'userform recherche ShowModal et sélectionne False

certainement à une prochaine fois
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
touroul Messages postés 465 Date d'inscription mardi 5 octobre 2010 Statut Membre Dernière intervention 29 janvier 2024 15
26 déc. 2015 à 21:37
C'est noté.
Dans le même registre, en septembre, Le Pivert m'avait appris à faire la différence entre différence entre UF.Hide et Unload UF, j'étais perdu.

Encore merci !
0