Sélectionner une ligne dans une plage

Mic13710

XLDnaute Junior
Bonjour,

J'essaye sans succès depuis un moment de sélectionner de manière simple un ligne dans une plage nommée de plusieurs colonnes à partir de la ligne active de la feuille. La cellule active peut-être en ou hors plage.
Ma plage nommée se trouve dans les colonnes A à E.
Le code suivant fonctionne.
Code:
LigSel = ActiveCell.Row
With Range("A" & LigSel & ":E" & LigSel).Font
    .Bold = True
    .ColorIndex = 3
End With
Mais je souhaiterais utiliser la plage, un peu comme ceci :
Code:
LigSel = ActiveCell.Row
With [MonRange].Cells(LigSel, 0).Row.Font
    .Bold = True
    .ColorIndex = 3
End With
Et là ça coince.
C'est sûrement très simple, à moins qu'il ne soit pas possible d'invoquer un row sur une plage.
J'ai bien entendu essayé aussi d'autres notations, mais ça ne passe pas.
Si quelqu'un à une idée, je suis preneur.
Merci d'avance pour votre aide.
Michel
 

Gareth

XLDnaute Impliqué
Re : Sélectionner une ligne dans une plage

Bonsoir,

Pas bien compris ton besoin mais je propose ceci à tout hasard :

Code:
Sub test()
With Range("A" & ActiveCell.Row).Resize(1, 5).Font
.Bold = True
.ColorIndex = 3
End With
End Sub

C'est quoi "MonRange" ?
 

Mic13710

XLDnaute Junior
Re : Sélectionner une ligne dans une plage

Merci Gareth pour ta réponse.

Ce n'est pas vraiment un besoin puisque mon code fonctionne mais une simple curiosité.
Ton code est plus élégant et je l'ai utilisé à la place du mien en notation Cells :
With Cells(ActiveCell.Row, 1).Resize(1, 5).Font

Je cherche seulement à savoir s'il est possible de sélectionner une ligne entière dans une plage définie avec une simple instruction "Row" non bornée. En y réfléchissant, je doute que ça soit faisable puisque Row désigne par essence la ligne entière de la feuille.

Pour info : [MonRange] est la notation vba simplifiée de Range("MonRange"). C'est moins long à écrire ....
 

Mic13710

XLDnaute Junior
Re : Sélectionner une ligne dans une plage

Salut Pierrot et merci pour ta réponse.
Je vais essayer d'expliquer.
Soit une plage entre B10 et G100 que je nomme "MonRange". Ma cellule active est par exemple Y65.
Plutôt que d'utiliser With Cells(ActiveCell.Row, 1).Resize(1, 6).Font
je cherche à savoir si on peut invoquer une simple instruction Row associée à "MonRange" (donc sans resize ou autre) qui ne prendrait en compte que les cellules de la ligne correspondante de "MonRange" (soit B65 à G65) en non pas la ligne entière.
Je suis conscient que ça n'a guère d'intérêt pour une plage fixe, mais ça peut-être utile si la plage est variable.
 

Discussions similaires

Réponses
12
Affichages
572

Statistiques des forums

Discussions
312 294
Messages
2 086 891
Membres
103 404
dernier inscrit
sultan87