Sélection de ligne dans une liste en fonction de la cellule sélectionnée

rkan

XLDnaute Nouveau
Bonjour,

j'ai un petit soucis avec le code ci-dessous :

Code:
Sub Couleurliste()
    
    Dim p As Long

On Error Resume Next

     For p = Range("B65536").End(xlUp).row To 1 Step -1
     
        If InStr(1, Cells(p, 2).Value, "TOTO", vbTextCompare) Then
            MsgBox ("verif n° ligne : " & p)
            Rows(p).Interior.ColorIndex = 3

        End If
                
    Next p
    
End Sub

Avec ce code j'arrive à sélectionner la bonne ligne en fonction de mon critère TOTO, le problème est que j'ai un tableau avec n colonnes et n lignes, du coup j'ai mis en place une liste que j'ai appelé "Liste1_23".

Le code précédent met en couleur toute la ligne sélectionnée, alors que je veux limité la sélection jusqu'a la colonne n de ma liste.

Quand j'essaye de limiter la sélection à la liste1_23, les lignes surlignées s'arrêtent bien à la dernière colonne de ma liste mais la sélection est complètement fausse.

Code:
Range("Liste1_23").Rows(p).Interior.ColorIndex = 3

Ce qui est étrange c'est que le "p" qui est renvoyé en msgbox correspond aux bonnes lignes

Afin de comprendre tout seul, j'ai fouillé un peu le forum sans succès et consulté le site :

Ce lien n'existe plus

Si quelqu'un à une idée je suis preneur,

Merci d'avance
 

JNP

XLDnaute Barbatruc
Re : Sélection de ligne dans une liste en fonction de la cellule sélectionnée

Bonjour Rkan :),
Quelque chose comme ça, par exemple :p
Code:
Intersect(Rows(p), Columns("A:N")).Interior.ColorIndex = 3
Bonne suite :cool:
 

rkan

XLDnaute Nouveau
Re : Sélection de ligne dans une liste en fonction de la cellule sélectionnée

Merci pour la réponse rapide,

Code:
Intersect(Rows(p), Columns("A:AC")).Interior.ColorIndex = 3

Effectivement avec ce code j'arrive à surligner la bonne plage de ligne,

Je reste toujours preneur d'une astuce prenant en compte ma liste, au lieu de spécifier "à la main" les limites du tableau, comme ça me permettrais d'anticiper les variations du nombre de colonnes.
 

francedemo

XLDnaute Occasionnel
Re : Sélection de ligne dans une liste en fonction de la cellule sélectionnée

à tester:
Code:
Intersect(Rows(p), Columns("A:A"& [A1].End(xlToRight).Column))).Interior.ColorIndex = 3
à+

dsl, ça va pas coller
je regarde de plus près
(réponse trop rapide...)
essaye plutôt:
Code:
Range("A" & p, Range("A" & p).End(xlToRight)).Interior.ColorIndex = 3

ouf, ça, ça fonctionne chez moi
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 329
Messages
2 087 323
Membres
103 516
dernier inscrit
René Rivoli Monin