Limiter apparition UF à une zone

Résolu
touroul Messages postés 520 Date d'inscription   Statut Membre Dernière intervention   -  
touroul Messages postés 520 Date d'inscription   Statut Membre Dernière intervention   -
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. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  2. touroul Messages postés 520 Date d'inscription   Statut Membre Dernière intervention   16
     
    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
  3. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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. touroul Messages postés 520 Date d'inscription   Statut Membre Dernière intervention   16
       
      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
  4. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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. touroul Messages postés 520 Date d'inscription   Statut Membre Dernière intervention   16
       
      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