Code VBA simple mot associé à une couleur

Y compris Power BI, Power Query et toute autre question en lien avec Excel
J
Julien57920
Jeune membre
Jeune membre
Messages : 36
Inscrit le : 19 mars 2018
Version d'Excel : 2016 EN

Message par Julien57920 » 21 mars 2018, 18:57

Bonjour, si quelqu'un peut me renseigner svp ?
Je voudrais un code VBA assez simple applicable à toute ma page.
Le mot Paris s'affiche en jaune.
Le mot Marseille s'affiche en bleu.
Le mot Bordeaux s'affiche en vert.

Merci d'avance.

Julien
J
Julien57920
Jeune membre
Jeune membre
Messages : 36
Inscrit le : 19 mars 2018
Version d'Excel : 2016 EN

Message par Julien57920 » 21 mars 2018, 19:59

J'ai réussi avec ce code ci dessous :
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

Mais quand je colle un tableau sur la page contenant ces mots j'ai un message d'erreur de VBA erreur 13.
Comment puis je faire ?

Julien
g
gmb
Fanatique d'Excel
Fanatique d'Excel
Messages : 12'836
Appréciations reçues : 363
Inscrit le : 4 avril 2013
Version d'Excel : 2016

Message par gmb » 21 mars 2018, 20:07

Bonjour à tous

Une variante avec MFC
Bye !
Classeur1 v1.xlsx
(9.14 Kio) Téléchargé 70 fois
A
Andre13
Membre impliqué
Membre impliqué
Messages : 1'679
Appréciations reçues : 109
Inscrit le : 13 juillet 2017
Version d'Excel : 2007-2013

Message par Andre13 » 21 mars 2018, 20:15

Julien57920 a écrit :
21 mars 2018, 19:59
J'ai réussi avec ce code ci dessous :
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

Mais quand je colle un tableau sur la page contenant ces mots j'ai un message d'erreur de VBA erreur 13.
Comment puis je faire ?

Julien
Bonjour
coucou Gmb :wink:
@Julien57920 il fallait juste déclaré la variable

Private Sub Worksheet_Change(ByVal Target As Range)

Dim chaine
On Error GoTo plouf

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
If InStr(chaine, "Salut") Then .ColorIndex = 10
End With
plouf:
Exit Sub
End  Sub

crdlt,
André
couleurtest__test001.xlsm
(18.06 Kio) Téléchargé 70 fois
J
Julien57920
Jeune membre
Jeune membre
Messages : 36
Inscrit le : 19 mars 2018
Version d'Excel : 2016 EN

Message par Julien57920 » 21 mars 2018, 20:40

Merci André, mais ça ne fonctionne toujours pas j'ai bien rajouté dim chaîne.
J'ai le message d'erreur erreur d'exécution 13 incompatibilité de type.

Julien
A
Andre13
Membre impliqué
Membre impliqué
Messages : 1'679
Appréciations reçues : 109
Inscrit le : 13 juillet 2017
Version d'Excel : 2007-2013

Message par Andre13 » 21 mars 2018, 21:25

Re,
à tester :
' ...
If InStr(chaine, "Bonjour") > 0 Then Target.Interior.ColorIndex = 5
'...
crdlt,
André
J
Julien57920
Jeune membre
Jeune membre
Messages : 36
Inscrit le : 19 mars 2018
Version d'Excel : 2016 EN

Message par Julien57920 » 22 mars 2018, 18:55

Bonjour André,
Merci mais ca ne fonctionne toujours pas.
Ce code marche très bien si j'écris les mots voulus dans les cellules vides.
Par contre si j'essaye de copier coller le tableau de la 2eme feuille dans la 1ere feuille ca ne fonctionne pas.
J'ai joint le fichier.

Julien
tableau julien.xlsm
(20.69 Kio) Téléchargé 66 fois
A
Andre13
Membre impliqué
Membre impliqué
Messages : 1'679
Appréciations reçues : 109
Inscrit le : 13 juillet 2017
Version d'Excel : 2007-2013

Message par Andre13 » 22 mars 2018, 21:08

Re,
Je pense qu'il faut faire avec une MFC comme dit Gmb :wink:
c'est sans prise de tête de plus tu pourras copie-coller ton tableau,


NOTE je remarque que ton texte est en 'texte' et non en 'Standard ' si tu copies-collers ton tableau

crdlt,
André
Avatar du membre
dhany
Passionné d'Excel
Passionné d'Excel
Messages : 6'910
Appréciations reçues : 693
Inscrit le : 3 octobre 2017
Version d'Excel : 2007 FR

Message par dhany » 23 mars 2018, 05:49

Bonjour Julien, André, gmb,

J'ai adapté pour toi le code VBA d'André :
tableau julien.xlsm
(21.12 Kio) Téléchargé 70 fois
Si besoin, tu peux demander une adaptation.
Merci de me donner ton avis.

dhany
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message