C'est peut-être évident pour certains. Mais là, je suis à sec.
Je voudrais tester que la cellule active appartient à une plage en vba.
J'ai commencé ainsi mon code. Merci pour votre aide.
VB:
Sub test()
Dim ws As Worksheet, plg As Range
Set ws = ThisWorkbook.Worksheets("maFeuille")
Set plg = ws.Range("C1:C" & ws.Range("C" & Rows.Count).End(xlUp).Row)
'if activecell in plg then 'plante
End Sub
Sub test()
Dim ws As Worksheet, plg As Range
Set ws = ThisWorkbook.Worksheets("maFeuille")
Set plg = ws.Range("C1:C" & ws.Range("C" & Rows.Count).End(xlUp).Row)
If Not Intersect(ActiveCell, plg) Is Nothing Then MsgBox ActiveCell.Address
End Sub
EDITION: Houps, désolé. Pas rafraichi.
Bonjour Phil69970
Il n'y a pas que moi qui n'est pas frais
Bonjour Hasco.
Merci beaucoup, vous me sauvez. Toutes vos propositions fonctionnent parfaitement.
Mais sur ce coup, je vais utiliser celle de @Hasco .
Toute ma gratitude.
Bonne soirée.
Rien que pour montrer que l'intersect n'est pas une fatalité, voici une version avec Union (contradiction quand tu nous tiens...)
Et surtout pour saluer les récentes réapparitions de @Staple1600 après sa cure à 9 mois de zéro XLD ( ou bien le temps d'une grossesse l'agrafe ? Le papa se porte-t-il bien )
VB:
Sub Essai()
Dim plg As Range
With ThisWorkbook.Worksheets("maFeuille")
Set plg = .Range("C1:C" & .Range("C" & Rows.Count).End(xlUp).Row)
If plg.Count = Union(plg, ActiveCell).Count Then
MsgBox "Cellule active INCLUSE dans plg.", vbInformation
'suite du code
Else
MsgBox "Cellule active ABSENTE de plg.", vbExclamation
'suite du code
End If
End With
End Sub
Rien que pour montrer que l'intersect n'est pas une fatalité, voici une version avec Union (contradiction quand tu nous tient...)
Et surtout pour saluer les récentes réapparitions de @Staple1600 après sa cure à 9 mois de zéro XLD ( ou bien le temps d'une grossesse l'agrafe ? Le papa se porte-t-il bien )
VB:
Sub Essai()
Dim plg As Range
With ThisWorkbook.Worksheets("maFeuille")
Set plg = .Range("C1:C" & .Range("C" & Rows.Count).End(xlUp).Row)
If plg.Count = Union(plg, ActiveCell).Count Then
MsgBox "Cellule active INCLUSE dans plg.", vbInformation
'suite du code
Else
MsgBox "Cellule active ABSENTE dans plg.", vbExclamation
'suite du code
End If
End With
End Sub
Private Sub Worksheet_SelectionChange(ByVal r As Range)
On Error Resume Next
Select Case Intersect(r, Columns(3))
Case "Bazinga!"
'
Case Else
MsgBox "https://www.youtube.com/watch?v=Lbb5AkLWDzQ"
End Select
End Sub