affecter une couleur a une cellule suivant contenu

Le
PeD
Bonjour,

1h30 de recherche et 1h30 de tests ne m'ont pas permis de résoudre mon
problème, mon besoin. Désolé je ne suis sans doute pas doué et
maintenant un peu lassé.

Comment faire en sorte que en entrant une valeur dans une cellule,
celle ci change "à la frappe enter" de couleur suivant le texte
entré?

Note : c'est la function "like" qui doit être activée car par exemple
la cellule se met en jaune si le texte entré "contient" quelque part
dans la cellule le mot "adieu". ( Je ne vois pas dans la Mise En Forme
Conditionelle" l'opérateur "contient" ).

De même j'ai essayé avec un tout petit peu de succès de passer par une
macro, mais je m"embrouille à mettre les tests dans la feuille ou dans
un module? ( par exemple avec Instr(xxxxx) et de toute façon quand
elle fait son travail, ce n'est pas à la touche Enter, mais
éventuellement quand je reviens sur la cellule, que j'ouvre l'onglet
Macro et que je demande l'exécution. Mais ce n'est pas du direct.

En résumé, à la frappe, si la cellule contient le mot "bonjour" la
cellule se met en fond vert, si la cellule contient le mot "au
revoir", elle se met en rouge, et si la cellule contient le mot "
adieu" elle se met en jaune.

Sous question : quelle différence en tre MAcro et VBA Script??

Tout cela me parait simple, hélas pas pour moi.

Quelqu'un avec un wifi sur une plage peut il me répondre :--)) ??
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel
Le #4812711
Bonjour.
If InStr(1, Target, "adieu") > 0 Then Target.Interior.ColorIndex = 3
Cordialement.
Daniel
"PeD"
Bonjour,

1h30 de recherche et 1h30 de tests ne m'ont pas permis de résoudre mon
problème, mon besoin. Désolé je ne suis sans doute pas doué et
maintenant un peu lassé.

Comment faire en sorte que en entrant une valeur dans une cellule,
celle ci change "à la frappe enter" de couleur suivant le texte
entré?

Note : c'est la function "like" qui doit être activée car par exemple
la cellule se met en jaune si le texte entré "contient" quelque part
dans la cellule le mot "adieu". ( Je ne vois pas dans la Mise En Forme
Conditionelle" l'opérateur "contient" ).

De même j'ai essayé avec un tout petit peu de succès de passer par une
macro, mais je m"embrouille à mettre les tests dans la feuille ou dans
un module? ( par exemple avec Instr(xxxxx) et de toute façon quand
elle fait son travail, ce n'est pas à la touche Enter, mais
éventuellement quand je reviens sur la cellule, que j'ouvre l'onglet
Macro et que je demande l'exécution. Mais ce n'est pas du direct.

En résumé, à la frappe, si la cellule contient le mot "bonjour" la
cellule se met en fond vert, si la cellule contient le mot "au
revoir", elle se met en rouge, et si la cellule contient le mot "
adieu" elle se met en jaune.

Sous question : quelle différence en tre MAcro et VBA Script??

Tout cela me parait simple, hélas pas pour moi.

Quelqu'un avec un wifi sur une plage peut il me répondre :--)) ??
chasouris
Le #4812691
Salut,

Voici une solution (parmi d'autres ?)

1. Va dans l'environnement VBA Excel (Raccourci ALT F11)
2. Dans le volet de gauche, cherche "VBAProject (NomDeTonClasseur)
3. Développe-le, de manière à voir Feuil1, Feuil2, Feuil3, ... et
ThisWorkbook
4. Double-clique sur la feuille dont tu aimerais ton traitement
5. A droite est apparue une feuille. En haut de cette feuille à
gauche, choisis dans la liste déroulante "WorkSheet"
6. A drroite, dans l'autre liste déroulante, choisis "Change"
7. Tu as ceci :
Private Sub Worksheet_Change(ByVal Target As Range)
End Sub
8. Mets y ce code :
Private Sub Worksheet_Change(ByVal Target As Range)
Chaine = Target.Value
With Target.Interior
If InStr(Chaine, "Adieu") Then .ColorIndex = 5
If InStr(Chaine, "Bonjour") Then .ColorIndex = 8
If InStr(Chaine, "Au revoir") Then .ColorIndex = 14
End With
End Sub

Reviens dans Excel (ALT F11), et écris dans une cellule n'importe quoi
avec "Bonjour" (coucouBonjourTagada par exemple), et hop, tu as ta
cellule en bleu clair dès que tu appuies sur ENTER...

Pour connaître les codes couleur, il suffit de chercher "ColorIndex
Excel" dans Google, et voici un exemple :
http://www.mvps.org/dmcritchie/excel/colors.htm

Ouala... Bon, je pense que tu sauras corriger le codes VBA pour
arriver à tes fins...

Quant à "VBA Script", ça n'existe pas à ma connaissance... VB Script,
oui. Bref, VBA sont les initiales de "Visual Basic pour Applications".
Une Macro est par exemple celle que je viens de te proposer plus haut,
et je l'ai écrite en VBA, qui est le nom du langage...
Misange
Le #4812681
bonjour
avec le wifi mais pas sur la plage, juste sur la terrasse à l'ombre :-)

regarde dans cet indispensable classeur d'Alain Vallon
http://www.excelabo.net/moteurs/compteclic.php?nom=av-mefc
la rubrique recherche dans une cellule/mot dans une phrase si tu veux
qu'en entrant "héhé ! bonjour à vous" ta cellule se mette en vert.

Si tu veux simplement que ce soit lorsque tu valides bonjour
alors dans le mise en forme conditionnelle, tu choisis :
la valeur de la cellule est égale à et dans la cellule de droite tu
tapes ="bonjour" (avec le signe égal et les guillemets)

Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Bonjour,

1h30 de recherche et 1h30 de tests ne m'ont pas permis de résoudre mon
problème, mon besoin. Désolé je ne suis sans doute pas doué et
maintenant un peu lassé.

Comment faire en sorte que en entrant une valeur dans une cellule,
celle ci change "à la frappe enter" de couleur suivant le texte
entré?

Note : c'est la function "like" qui doit être activée car par exemple
la cellule se met en jaune si le texte entré "contient" quelque part
dans la cellule le mot "adieu". ( Je ne vois pas dans la Mise En Forme
Conditionelle" l'opérateur "contient" ).

De même j'ai essayé avec un tout petit peu de succès de passer par une
macro, mais je m"embrouille à mettre les tests dans la feuille ou dans
un module? ( par exemple avec Instr(xxxxx) et de toute façon quand
elle fait son travail, ce n'est pas à la touche Enter, mais
éventuellement quand je reviens sur la cellule, que j'ouvre l'onglet
Macro et que je demande l'exécution. Mais ce n'est pas du direct.

En résumé, à la frappe, si la cellule contient le mot "bonjour" la
cellule se met en fond vert, si la cellule contient le mot "au
revoir", elle se met en rouge, et si la cellule contient le mot "
adieu" elle se met en jaune.

Sous question : quelle différence en tre MAcro et VBA Script??

Tout cela me parait simple, hélas pas pour moi.

Quelqu'un avec un wifi sur une plage peut il me répondre :--)) ??



PeD
Le #4812671
On 4 août, 17:50, "Daniel"
Bonjour.
If InStr(1, Target, "adieu") > 0 Then Target.Interior.ColorIndex = 3
Cordialement.
Daniel



Merci, j'avais à peu près essayé cela, mais sans succès car

j'ouvre l'onglet macro nouveau etc je mets les instructions qui se
retrouvent dans un module 1 mais qui ne s'exécute pas "live" à la
frappe.
Rien non plus, si j'entre du texte, que je sélectionne toute la sheet,
et que j'execute la macro !! Il semble ne pas y avoir de lien entre
mon code et la sheet.

Question : dans ton texte, le mot Target est il un mot clé ? ou dois
je le remplacer par quelque chose qui renvoie à la cellule active dans
laquelle j'entre les données?

Merci

Pierre
Programmeur mainframe :--))

PeD
Le #4812661
Entre ma réponse et maintenant déjà deux autres réponse que je vais
essayer. Vopus êtes trop rapides.

Je vous tiens au courant.

Ah le monde d'Excel ....

Cheers
Pierre
Mgr.Abile
Le #4812651
Bonsoir,
Par mfec : si la formule est (supposant les données en E9 et suivantes
=NON(ESTERR(CHERCHE("adieu";E9;1)))+0=1
--
Philippe.R
"PeD" news:
Bonjour,

1h30 de recherche et 1h30 de tests ne m'ont pas permis de résoudre mon
problème, mon besoin. Désolé je ne suis sans doute pas doué et
maintenant un peu lassé.

Comment faire en sorte que en entrant une valeur dans une cellule,
celle ci change "à la frappe enter" de couleur suivant le texte
entré?

Note : c'est la function "like" qui doit être activée car par exemple
la cellule se met en jaune si le texte entré "contient" quelque part
dans la cellule le mot "adieu". ( Je ne vois pas dans la Mise En Forme
Conditionelle" l'opérateur "contient" ).

De même j'ai essayé avec un tout petit peu de succès de passer par une
macro, mais je m"embrouille à mettre les tests dans la feuille ou dans
un module? ( par exemple avec Instr(xxxxx) et de toute façon quand
elle fait son travail, ce n'est pas à la touche Enter, mais
éventuellement quand je reviens sur la cellule, que j'ouvre l'onglet
Macro et que je demande l'exécution. Mais ce n'est pas du direct.

En résumé, à la frappe, si la cellule contient le mot "bonjour" la
cellule se met en fond vert, si la cellule contient le mot "au
revoir", elle se met en rouge, et si la cellule contient le mot "
adieu" elle se met en jaune.

Sous question : quelle différence en tre MAcro et VBA Script??

Tout cela me parait simple, hélas pas pour moi.

Quelqu'un avec un wifi sur une plage peut il me répondre :--)) ??
PeD
Le #4812631
Re,

J'ai appliqué la solution de chasou... avec succès.

Je prends au passage les informations des autres intervenants.
Je peux maintenant illustrer mon scenario de test sur mainframe
et vous souhaite bon week-end.


Salut

Quelle efficacité, je reviendrai.

Pierre
Modeste
Le #4812571
Bonsour® PeD avec ferveur ;o))) vous nous disiez :

En résumé, à la frappe, si la cellule contient le mot "bonjour" la
cellule se met en fond vert, si la cellule contient le mot "au
revoir", elle se met en rouge, et si la cellule contient le mot "
adieu" elle se met en jaune.


A1 avec mise en forme conditionnelle :
condition 1 La formule est : = Trouve("bonjour";A1)<>0
motif : Vert
condition 2 La formule est : = Trouve("au revoir";A1)<>0
motif : Rouge
condition 3 La formule est : = Trouve("adieu";A1)<>0
motif : Jaune

limitation : il n'y a que 3 conditions et couleurs possibles
cette limitation à été levée avec EXCEL 2007


Sous question : quelle différence en tre MAcro et VBA Script??


MACRO :
utilise le language VBA (Visual Basic for Application) propre à l'application
Microsoft encours d'utilisation
Pour qu'une macro fonctionne, il faut que l'application correspondante soit
active

Microsoft a intégré ce Visual Basic au sein de ses applications phares : a
savoir Office.
Aussi, il existe Visual Basic pour Word, pour Excel, Pour Access, pour
PowerPoint et pour Outlook.
Pourquoi y a-t-il autant de variantes ?
Simplement parce que chaque programme a ses spécificités : En effet, Word n'a
nul besoin d'une commande de création de nouvel onglet spécifique à Excel,
Excel, n'a nul besoin de comamndes Visual Basic permettant de créer un nouveau
Courrier (spécifique à Outlook), et ainsi de suite. Par contre, certaines
instructions, comme le MsgBox par exemple, qui permet d'afficher un court
message à l'écran, est, lui, présent dans tous les Visual Basic que vous
rencontrerez.
http://www.info-3000.com/vbvba/index.php

VBSCRIPT :
VBScript (aussi appelé Visual Basic Scripting Edition) est un sous-ensemble du
langage Visual Basic for Applications (VBA), un langage propriétaire de
Microsoft prévu pour être intégré aux produits Microsoft Office©, le langage VBA
étant lui-même un sous-ensemble de Visual Basic.
Le langage VBScript permet d'interagir avec les objets de l'environnement dans
lequel il est intégré, de cette façon, il peut fonctionner sous de nombreux
environnements,
http://www.commentcamarche.net/vbscript/vbsintro.php3
apprendre VBWScript:
http://www.ccim.be/ccim328/vb/index.htm



--
--
@+
;o)))

jps
Le #4812501
MEFC, Monseigneur, MEFC....
seriez-vous atteint d'une parkinson précoce ou d'une dislexie larvée?
jps

"Mgr.Abile"

Par mfec : si la formule est (supposant les données en E9 et suivantes


Publicité
Poster une réponse
Anonyme