Surlignage ligne selon condition en VBA

bonjour,

peut on surligner une ligne si son numéro est saisie via une liste box en vba ? je ne veux pas utiliser la mise en forme conditionnelle

merci

95surligner-if.xlsx (12.79 Ko)

Bonsoir,

Un essai...

il colorie seulement les 7 premières colonnes.

Par contre il efface toutes les couleurs de la feuille donc la ligne :

ActiveSheet.Cells.Interior.ColorIndex = 0

est à ajuster à la zone que vous désirez...

@ bientôt

LouReeD

salut,

j'ai telechargé le fichier, mais rien ne fonctionne chez moi

Bonsoir le fil, bonsoir le forum,

Une autre proposition avec couleur aléatoire... :

Private Sub ComboBox1_Change()
Dim R As Range
Dim C As XlColorIndex

Randomize
C = Int(55 * Rnd)
Set R = Columns(1).Find(Me.ComboBox1.Value, , xlValues, xlWhole)
R.Resize(1, 12).Interior.ColorIndex = C
End Sub

salut,

pour ce dernier test, on colorie bien la cellule, mais lorsque l'on choisi un autre nom dans la listbox, l'ancienne ligne reste colorée alors qu'il faudrait qu'elle redevienne sans couleur.

ton principe reste sympa.

Peux tu colorer uniquement la ligne choisie?...en ayant toujours la même couleur?


pour la couleur aleatoire, c'est :

C = Int(3) "si je veux rouge"

reste à effacer les précédentes...

Bonsoir le fil, bonsoir le forum,

Alors essaie comme ça :

Private Sub ComboBox1_Change()
Dim R As Range
Cells.Interior.ColorIndex = xlNone
Set R = Columns(1).Find(Me.ComboBox1.Value, , xlValues, xlWhole)
R.Resize(1, 12).Interior.ColorIndex = 3
End Sub
dann a écrit :

bonjour,

je ne veux pas utiliser la mise en forme conditionnelle

merci

Pourquoi ? ce serait justement adapté ici ?

Salut et merci.

Par mfc, j'entendais ne pas passer par le ruban et noter la formule dans chaque case.

le dernier code fonctionne à merveille.

il me faut juste vérifier le cas ou la ligne est surlignée par 2 conditions.

encore merci

à+

Bonjour,

J'ai téléchargé le fichier que je vous ai envoyé et ce matin chez moi il marche très bien !

Enfin bref, @ bientôt

LouReeD

je vous demande de m'excuser, mais j'ai une condition que j'avais omis en testant le dernier code:

il ne faut pas effacer les couleurs du restant de la feuille.

si vous avez une modif à apporter.....merci


Looreed,

j'ai re tester pour être certain de ne m'être trompé, mais tjrs pas de fonctionnement chez moi.

Peut être quelque chose à configurer ou autre dans excel ?...J'ai le 2013

à+

28surligner-if3.xlsm (19.54 Ko)
dann a écrit :

Salut et merci.

Par mfc, j'entendais ne pas passer par le ruban et noter la formule dans chaque case.

à+

Sans oublier l'excellente solution de LouReed, je signale juste qu'une seule et même condition peut être appliqué à tout un ensemble de cellules. Soit en les indiquant dans la MFC, soit en recopiant kle format de la cellule !

Bonjour le fil,

Je viens de regarder vos codes et je me pose une question.

Dans le gestionnaire de noms j'ai modifié le code en =DECALER(Feuil1!$A$6;0;0;NBVAL(Feuil1!$A:$A))

Si j'ajoute des données en dessous de la liste, la fonction decaler prend en considération les nouvelles données.

En revanche le combobox ne les intègre pas. Il les intègre seulement à la prochaine ouverture du fichier.

Pourriez-vous m'éclairer sur le phénomène?

Merci

ddetp88

pour ne colorer que la zone, j'ai ce code

Private Sub ComboBox1_Change()

Dim R As Range

Range("a6:l12").Interior.ColorIndex = xlNone

Set R = Columns(1).Find(Me.ComboBox1.Value, , xlValues, xlWhole)

R.Resize(1, 12).Interior.ColorIndex = 3

End Sub

Ok, c'est peut-être du à 2013...

sinon pour ne pas effacer toutes les couleurs de toutes la feuille il faut agir sur cette ligne :

Cells.Interior.ColorIndex = xlNone

Au lieu de Cells (qui dit : toutes les cellules de la feuille), vous devez spécifiez la zone concernée par le surlignage avec par exemple :

Range("A10:M36").Interior.ColorIndex = xlNone

Zone qui correspond au nombre de ligne concernées et nombre de colonne concernées.

@ bientôt

Loureed (et non pas LooReeD )

oui, ok pour cette ligne, merci.

Maintenant, si mon tableau comporte une colonne au milieu dont je ne veux pas changer la couleur, quelle est la modif pour le code?

Est-ce possible ?

Range("A10:F36, H10:M36").Interior.ColorIndex = xlNone

je n'ai pas testé...

@ bientôt

LouReeD

bonjour,

j'utilise ce code:

Private Sub ComboBox1_Change()

Dim R As Range

Range("b48:e120, g48:al120").Interior.ColorIndex = xlNone

Set R = Columns(2).Find(Me.ComboBox1.Value, , xlValues, xlWhole)

R.Resize(1, 37).Interior.ColorIndex = 8

End Sub

si met une couleur sur ma colonne f28;f120,

je change donc bien la couleur en fonction du combobox.

maintenant lorsque je change de ligne via ma combobox, la couleur de la ligne reste sur la couleur modifiée et ne reprend pas sa couleur d'origine

je vous pose une dernière question !

sur le fichier joint,

je souhaite colorer en rouge les cases transparentes en fonction de la liste, avec:

la colonne e qui ne doit pas changer de couleur ainsi que la ligne 5

il y a des longueurs différentes ( pour aa il y a 7 cases à remplir et pour les autres sélections, il y a 11 cases à remplir )

si cela fonctionne, promis, je ne pose plus de question sur ce topic !

merci

20surligner-if4.xlsm (22.21 Ko)

Si j'ai bien compris...

@ bientôt

LouReeD

salut,

mon "fichu" excel ne marche pas avec ta macro ! je n'y comprend rien, alors que ça devrait.

même si je crée un autre combo et que je l'associe, c'est pareil. la page est figée

Rechercher des sujets similaires à "surlignage ligne condition vba"