Limiter apparition UF à une zone

Résolu
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

  1. 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
    1. 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
  2. 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
    1. 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
  3. 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
    1. 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