erreur d'execution 13

laurent.madec

XLDnaute Nouveau
Bonjour le forum!

j'ai une Macro pour faire une mise en forme conditionnelle, mais lorsque je veux copier la cellule, j'ai un message d'erreur : "erreur d'execution 13"

voici mon code :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value = "EX" Then Target.Interior.ColorIndex = 36
If Target.Value = "ET" Then Target.Interior.ColorIndex = 34
If Target.Value = "VA" Then Target.Interior.ColorIndex = 44


If Target.Value <> "EX" And Target.Value <> "BB" And Target.Value <> "ET" _
And Target.Value <> "VA" Then Target.Interior.ColorIndex = 2

End Sub

il doit me manquer un bout de code...
 

Luki

XLDnaute Accro
Re : erreur d'execution 13

Bonjour Laurent, re Jean-Pierre, salut Pascal

Le problème vient du fait que ton "target" est une plage de cellule.

Tu ne peux donc pas comparer en même temps plusieurs cellules. Il faut dans ce cas, passer par une boucle. Tu peux regarder l'exemple ci-dessous, ça devrait répondre à ta question. (dernier post sur le fil)

https://www.excel-downloads.com/thr...macro-dans-une-fonction-conditionnelle.86030/

Bonne journée à tous.

Edit : Salut Pierrot
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : erreur d'execution 13

Bonjour Laurent, Jean-Pierre, Pascal

modifies peut être ta macro comme suit :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
For Each c In Target
    If c.Value = "EX" Then c.Interior.ColorIndex = 36
    If c.Value = "ET" Then c.Interior.ColorIndex = 34
    If c.Value = "VA" Then c.Interior.ColorIndex = 44
    If c.Value <> "EX" And c.Value <> "BB" And c.Value <> "ET" _
        And c.Value <> "VA" Then c.Interior.ColorIndex = 2
Next c
End Sub

bonne journée
@+

Edition bonjour Luki
 

Discussions similaires

Réponses
1
Affichages
358

Statistiques des forums

Discussions
313 769
Messages
2 102 234
Membres
108 181
dernier inscrit
Chr1sD