Colorier des cellules selon choix dans listbox

pilou76

XLDnaute Occasionnel
Bonsoir à tous,
Selon le choix dans la liste, je souhaiterai qu'il me colorie toutes les cellules contenant 76030 ainsi que les codes associes (76915) , Ces codes sont sur l'onglet feuil1
Merci d'avance
PS je fonctionne en Excel 2002
 

Pièces jointes

  • code.xls
    32 KB · Affichages: 69
  • code.xls
    32 KB · Affichages: 65
  • code.xls
    32 KB · Affichages: 67

Modeste

XLDnaute Barbatruc
Re : Colorier des cellules selon choix dans listbox

Bonsoir pilou76,

Sous réserve que j'aie bien compris, une proposition "basique" ... on gagnerait en efficacité, si la plage à examiner dans la feuille2 était clairement définie.

A tester, donc
 

Pièces jointes

  • colorerCodes (pilou76).xls
    52 KB · Affichages: 72
  • colorerCodes (pilou76).xls
    52 KB · Affichages: 76
  • colorerCodes (pilou76).xls
    52 KB · Affichages: 74

pilou76

XLDnaute Occasionnel
Re : Colorier des cellules selon choix dans listbox

Bonsoir,
Avec l'aide de Modeste, une recherche se fait à partir d'une listbox mais est-il possible de faire la même chose avec une cellule "qui contient".
Par ex je cherche 76011 et elle me trouve 76011 AAA ou AAA 76011
Merci d'avance
 

Pièces jointes

  • colorerCodes (pilou76).xls
    50 KB · Affichages: 54
  • colorerCodes (pilou76).xls
    50 KB · Affichages: 56
  • colorerCodes (pilou76).xls
    50 KB · Affichages: 57

Modeste

XLDnaute Barbatruc
Re : Colorier des cellules selon choix dans listbox

Bonsoir pilou76,

Avec toutes les infos dès le départ, peut-être qu'on s'y serait pris autrement ... Là, pour économiser mon neurone, je n'avais pas envie de tout réécrire, alors je me suis contenté d'adapter l'existant :(
Si le nombre de données devient conséquent ou que la plage à explorer s'étend, ça risque de prendre de plus en plus de temps ... Tu verras bien dans l'avenir :rolleyes:

Remplace l'ancien code par celui-ci ... et dis-nous!
VB:
Private Sub ComboBox1_Change()
If ComboBox1.Text = "" Then Exit Sub
Set liste = CreateObject("scripting.dictionary")
Set trouve = Sheets("Feuil1").Range("A1:A" & Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row).Find(ComboBox1.Value, LookIn:=xlValues, lookat:=xlWhole)
Dim décal%
If trouve Is Nothing Then
    MsgBox "Code " & ComboBox1.Value & " non-trouvé"
Else
    Sheets("Feuil2").UsedRange.Interior.ColorIndex = xlNone
    décal = décal + 1
    liste(trouve.Value) = ""
    While trouve.Offset(, décal).Value <> ""
        liste(trouve.Offset(, décal).Value) = ""
        décal = décal + 1
    Wend
End If
For Each c In Sheets("feuil2").UsedRange.SpecialCells(xlCellTypeConstants)
    For Each k In liste.keys
        If InStr(1, c.Value, k, 1) Then c.Interior.Color = RGB(255, 255, 0): Exit For
    Next k
Next c
Set liste = Nothing
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 112
Messages
2 085 417
Membres
102 885
dernier inscrit
AISSOU