Condition parti de cellule contient "texte"

Salut a tous.

Voilà, toujours sur le même projet.

Partie Windev fini, me manque plus que quelques petits truc pour finaliser mon excel.

En autre, je chercher comment faire pour dire:

If une partie de la cellule contient le mot "AUTO" Then

mettre le fond de la cellule de tel couleur

Bonjour

If Range("A1").Value Like "*AUTO*" Then

Cordialement

Bonjour

Amadéus, je testais avec le même code que toi, mais le problème est que si AUTORISER ou tout mot contenant AUTO se trouve dans la cellule, ils seront également reconnus.

Peut-être que cette solution suffit à Fitouf, mais j'aimerais connaitre le code pour n'avoir que le mot AUTO de reconnu. Si quelqu'un l'a, merci.

Amicalement

Nad

Bonjour Fitouf, Amadéus, Nad, le forum.

Nad pour n'avoir que le mot AUTO, il suffit de rajouter des espaces, enfin si j'ai bien saisi ton problème :

If Range("A1").Value Like "*AUTO *" Then

Cordialement

Bonjour Zirak

Merci de ta réponse mais si AUTO est le dernier mot de la cellule (et donc pas d'espace après), ce n'est pas bon.

Amicalement

Nad

Re

OK - Si on ajoute automatiquement un espace à la fin de la cellule :

Sub test()
If UCase(Range("A1").Value) & " " Like "*AUTO *" Then
Range("A1").Interior.ColorIndex = 3
Else: Range("A1").Interior.ColorIndex = xlNone
End If
End Sub

Amicalement

Nad

Salut les gars.

Merci de vos reponses, ça marche niquel.

Seul petit truc, c'est que je sui obligé de mettre ceci:

Do While ActiveCell <> ""
        If ActiveCell.Value Like "*Auto*" Then
            ActiveCell.Interior.Color = RGB(0, 120, 210)
        End If
        If ActiveCell.Value Like "*auto*" Then
            ActiveCell.Interior.Color = RGB(0, 120, 210)
        End If

        If ActiveCell.Value Like "*Moto*" Then
            ActiveCell.Interior.Color = RGB(153, 0, 153)
        End If
        If ActiveCell.Value Like "*moto*" Then
            ActiveCell.Interior.Color = RGB(153, 0, 153)
        End If

        If ActiveCell.Value Like "*Habitation*" Then
            ActiveCell.Interior.Color = RGB(252, 179, 48)
        End If
        If ActiveCell.Value Like "*habitation*" Then
            ActiveCell.Interior.Color = RGB(252, 179, 48)
        End If

        If ActiveCell.Value Like "*Santé*" Then
            ActiveCell.Interior.Color = RGB(164, 247, 53)
        End If
        If ActiveCell.Value Like "*santé*" Then
            ActiveCell.Interior.Color = RGB(164, 247, 53)
        End If

        If ActiveCell.Value Like "*Vie*" Then
            ActiveCell.Interior.Color = RGB(226, 0, 0)
        End If
        If ActiveCell.Value Like "*vie*" Then
            ActiveCell.Interior.Color = RGB(226, 0, 0)
        End If
    ActiveCell.Offset(0, 1).Select
    Loop

Bonjour

Tu peux supprimer à chaque fois un des tests en utilisant :

If UCase(ActiveCell.Value) Like "*MOTO*" Then
            ActiveCell.Interior.Color = RGB(153, 0, 153)
        End If

Amicalement

Nad

ce Ucase? que fait-il?

Il permet d'ignorer les majuscules, minuscules dans la cellule pour le rapprochement du Like?

Re

Il "passe" la cellule en majuscules et fait le test.

C'est pourquoi le mot recherché doit être écrit en majuscules.

Nad

Mais pour Santé? je mets quoi pour le "é" en majuscule?

Re

le é en majuscule s'obtient avec Alt+144

SANTÉ

Autrement, à la place de Ucase, tu utilises Application.Proper qui met l'écriture en Nom Propre (1ère lettre en majuscule)

Nad

Ok niquel, merci pour l'explication

-- 14 Juin 2011, 14:56 --

Bon, maintenant, voilà un autre petit point qui me bloque.

J'aimerai faire ceci:

Si tout le contenu de la cellule d'au dessus sauf les deux derniers mots qui seront "Segment XX" est égale a ActiveCell

alors...

Bonjour

If Range("A1").Value Like "*AUTO*" Then

Cordialement

Bonjour,

J'aurai besoin de cette formule mais au lieu d'utiliser le mot "AUTO" serait - il possible de relier la recherche avec une cellule?

Par de fonction que je recherche: Si la valeur de la cellule ("A1") contient la valeur de la cellule A2 alors selectionner la ligne 1

Exemple : la cellule A2 = CCA et la valeur de A1 = BBCCAB

Merci d'avance

Bonjour,

Par exemple comme ceci :

If UCase(Range("A1")) Like "*" & UCase(Range("A2")) & "*" Then
Rechercher des sujets similaires à "condition parti contient texte"