Sélection ligne.

Mattharm

XLDnaute Occasionnel
Bonsoir,

J'aimerais réaliser un code vba réalisant cela :

Code:
If Selection = Une ligne entière then
     Selection.Interior.Colorindex = 6
End If

If Selection = Une cellule, ou plusieurs cellules then
    Sélectionner la ligne correspondante
    Selection.Interior.Colorindex = 6
End If

N'hésitez pas à me questionner si j'ai mal exprimé mon problème.
Merci d'avance
Mattharm
 

job75

XLDnaute Barbatruc
Re : Sélection ligne.

Bonjour Mattharm,

Essayez donc :

Code:
If Selection.Rows.Count = 1 And Selection.Count = Columns.Count Then
     Selection.Interior.ColorIndex = 6
End If

If Selection.Count = 1 Then
    Selection.EntireRow.Select
    Selection.Interior.ColorIndex = 6
End If

A noter qu'en VBA il est préférable d'éviter les Select, c'est un B A BA...

A+
 

ERIC S

XLDnaute Barbatruc
Re : Sélection ligne.

Bonsoir

une remarque bête

Selection.EntireRow.Interior.ColorIndex = 6

marche si on a une, plusieurs cellules ou ligne entière sélectionnées

isn't it?

effectivement un test de précaution sur le nb de lignes sélectionnées peut s'avérer utile, selon le besoin...
 

job75

XLDnaute Barbatruc
Re : Sélection ligne.

Re,

Sans Select :

Code:
If Selection.Count = 1 Then Selection.EntireRow.Interior.ColorIndex = 6

Et si la plage "plage" était déterminée autrement que par une sélection, remplacer Selection par plage.

A+
 

Mattharm

XLDnaute Occasionnel
Re : Sélection ligne.

Re,

Sans Select :

Code:
If Selection.Count = 1 Then Selection.EntireRow.Interior.ColorIndex = 6

Et si la plage "plage" était déterminée autrement que par une sélection, remplacer Selection par plage.

A+

Code:
If Selection.Count >= 1 and Selection.Count < Columns.Count Then Selection.EntireRow.Interior.ColorIndex = 6

Pour globaliser peut être ? ;)
 

job75

XLDnaute Barbatruc
Re : Sélection ligne.

Bonjour Mattharm, le forum,

Si le but c'est de colorer toujours une seule ligne :

Code:
If Selection.EntireRow.Cells.Count = Columns.Count Then Selection.EntireRow.Interior.ColorIndex = 6

On peut éventuellement se passer du test :

Code:
ActiveCell.EntireRow.Interior.ColorIndex = 6

A+
 

Discussions similaires

Réponses
4
Affichages
183

Statistiques des forums

Discussions
312 388
Messages
2 087 871
Membres
103 672
dernier inscrit
ammarhouichi