XL 2016 Recherche d'un mot dans une cellule et surlignage de la ligne

  • Initiateur de la discussion Initiateur de la discussion Abi23
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Abi23

XLDnaute Nouveau
Bonjour,
J'ai un listing de produits en colonne I, dont le mot"Petit-déjeuner", je précise qu'il est entouré dans la cellule d'autres mots.
Mon nombre de lignes change tous les jours.
Je voudrais donc chercher les lignes dont la cellule en colonne I contient "Petit-déjeuner" et surligner cette ligne en rose.
J'ai essayé plein de codes VBA mais sans succès.
J'y arrive pour des valeurs exactes mais pas dans une suite de mots.
Voici la formule que j'ai actuellement qui marche avec les valeurs exactes:

Dim i As Integer
Dim plage As Range
Dim Lig As Byte
With Sheets("Tri")

Sheets("Tri").Select

i = 2
While i < 100 'Cells(5, i) <> "" And
Lig = i
Set plage = .Range(Cells(Lig, 2), Cells(Lig, 9))
Select Case .Range("I" & i).Value
Case Is = "Petit-déjeuner"
plage.Interior.Color = RGB(255, 153, 204) 'Rose pour Inclus
Case Else
plage.Interior.ColorIndex = -4142 ' enlève la couleur
End Select

i = i + 1

Wend
End With

Merci d'avance !
 
Solution
Re,
Un essai en PJ avec :
VB:
Sub TrouveChaine()
    Dim Chaine$, L%, Couleur, Rose
    Rose = RGB(255, 153, 204)
    Application.ScreenUpdating = False
    Chaine = "Petit-déjeuner"
    For L = 1 To Cells(Cells.Rows.Count, "I").End(xlUp).Row
        If Cells(L, "I") Like "*" & Chaine & "*" Then Couleur = Rose Else Couleur = xlNone
        Range("A" & L & ":I" & L).Interior.Color = Couleur
    Next L
End Sub

1- Un fichier test est un petit fichier sans données anonyme, ce qui évite au contributeur de le faire, et se rapproche de votre format.
2- Pour le code utilisez la balise </> c'est plus lisible. ( icone à droite de l'icone GIF )
Bonjour sylvanu,
La macro fait partie d'une suite avec du tri de colonnes, de l'insertion de lignes, de la mise en page etc...
en ce qui concerne le fichier test, les données sont sensibles.
En I je peux avoir par exemple :
6 x Package Petit-déjeuner Prévente, 6 x Taxe de séjour
Je veux que ça me surligne la ligne car I4 contient Petit-déjeuner.
 
Re,
Un essai en PJ avec :
VB:
Sub TrouveChaine()
    Dim Chaine$, L%, Couleur, Rose
    Rose = RGB(255, 153, 204)
    Application.ScreenUpdating = False
    Chaine = "Petit-déjeuner"
    For L = 1 To Cells(Cells.Rows.Count, "I").End(xlUp).Row
        If Cells(L, "I") Like "*" & Chaine & "*" Then Couleur = Rose Else Couleur = xlNone
        Range("A" & L & ":I" & L).Interior.Color = Couleur
    Next L
End Sub

1- Un fichier test est un petit fichier sans données anonyme, ce qui évite au contributeur de le faire, et se rapproche de votre format.
2- Pour le code utilisez la balise </> c'est plus lisible. ( icone à droite de l'icone GIF )
 

Pièces jointes

Notre forum d’entraide est 100 % gratuit et le restera.
Aucune formation payante, aucun fichier à acheter, rien à vendre. Mais comme tout site, nous devons couvrir nos frais pour continuer à vous accompagner.
Soutenez-nous en souscrivant à un compte membre : c’est rapide, vous choisissez simplement votre niveau de soutien et le tour est joué.

Je soutiens la communauté et j’accède à mon compte membre

Discussions similaires

Réponses
3
Affichages
479
Retour