Savoir si une cell appartient à une seletion nommée ?

sergio_bzh

XLDnaute Nouveau
Bonjour,

j'ai une sélection multiple nommée MaPlage valant "$A$1:$A$4;$C$3;$E1:$E3".
Y-a-t il un moyen simple de savoir si une cellule fait partie de MaPlage ? (Je cherche un autre moyen qu'une boucle en testant cellule par cellule).

Merci.
Sergio

XP + Excel 2000.
 

STephane

XLDnaute Occasionnel
Re : Savoir si une cell appartient à une seletion nommée ?

bonjour

essaye la procédure et la fonction ci-dessous
sub demo
msgbox IsCellInRange([A1],"MaPlage") 'retourne vrai ou faux
end sub

Function IsCellInRange(rng As Range, RangeName As String) As Boolean


'If you want to test whether a cell is within a specific named
'range, use something like
'(utilisation :
'If IsCellInRange(ActiveCell, "TheRangeName") = True Then... )


'Chip Pearson, mpep
On Error Resume Next
IsCellInRange = _
Not (Application.Intersect(rng, Range(RangeName)) Is Nothing)
End Function
 

sergio_bzh

XLDnaute Nouveau
Re : Savoir si une cell appartient à une seletion nommée ?

Super ! C'est bien ce que je cherchais. En fait je voulais même faire le test pour une sélection quelconque.
J'ai donc écrit le code pour savoir si une sélection quelconque était incluse dans une sélection nommée. Il suffit simplement que le nombre de cellules de la selection et de l'intersection soient les mêmes.

Code:
' Retourne vrai si la sélection RngSel (qui peut être multiple et discontinue)
' est incluse dans la sélection nommée RangeName
' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Function IsSelRangeInNamedRange(RngSel As Range, RangeName As String) As Boolean
    On Error Resume Next
    Dim RngInter As Excel.Range
    Set RngInter = Application.Intersect(RngSel, Range(RangeName))
    IsSelRangeInNamedRange = (RngSel.Cells.Count = RngInter.Cells.Count) _ 
                             And Not (RngInter Is Nothing)
End Function

Le modérateur pourrait peut-être l'ajouter dans la FAQ des macros événementielles, que je viens de trouver via google :( ??
https://www.excel-downloads.com/threads/vba-les-macros-evenementielles.83549/

Merci.
Sergio
 

Discussions similaires

Statistiques des forums

Discussions
312 484
Messages
2 088 794
Membres
103 969
dernier inscrit
fabien03