Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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.
 

Mic13710

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

Effectivement, pas d'autre solution que de passer par un "count".
Merci à tous les deux pour vos réponses.
Une instruction du type RangeRow serait pourtant sympa.
 

Discussions similaires

Réponses
12
Affichages
614
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…