Récupérer les numéros des lignes sélectionnées

caritijak

XLDnaute Nouveau
Bonjour,

Je cherche à faire avec une macro l'équivalent des filtres, mais en horizontal (masquer certaines colonnes).

L'interface que je prévois est que l'utilisateur pourra sélectionner une ou plusieurs lignes et en déclenchant la macro celle-ci ira masquer les colonnes pour lesquelles un critère défini se trouvera à l'intersection ligne/colonne.

Ca c'était juste pour planter le décor, ce que je n'arrive pas à trouver c'est comment en VBA en balayant les lignes savoir celles qui sont sélectionnées ou mieux celles sur lesquelles au moins une cellule est sélectionnée.

C'est clair ?

Merci de votre aide
 

TempusFugit

XLDnaute Impliqué
Re : Récupérer les numéros des lignes sélectionnées

Et avec cette macro ?
Code:
Sub Macro1()
Dim p As Range, a, i As Byte
Set p = Selection
a = Split(p.Address(0, 0), ",")
For i =0 To UBound(a)
MsgBox a(i)
Next i
End Sub
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Récupérer les numéros des lignes sélectionnées

Bonjour caritijak, TempusFugit,

Cette solution :

- limite la recherche des lignes au UsedRange

- permet la sélection multiple de plages constituées de plusieurs lignes

- ne prend pas en compte les lignes en doublon.

Code:
Sub Lignes()
Dim sel As Range, d As Object
Set sel = Intersect(Selection.EntireRow, ActiveSheet.UsedRange)
If sel Is Nothing Then Exit Sub
Set d = CreateObject("Scripting.Dictionary")
For Each sel In sel.Rows
  d(sel.Row) = sel.Row
Next
MsgBox "N° des lignes sélectionnées :" & vbLf & vbLf & Join(d.keys, "-")
End Sub
A+
 
Dernière édition:

Statistiques des forums

Discussions
312 338
Messages
2 087 397
Membres
103 536
dernier inscrit
komivi