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