Amelioration formule VBA

Bonjour le forum,

1er cas :

j'ai entré un code :

Set plage = Range("D21,D22,G21,G22,J21:J24,M21,M22,M24,P21:P24,S22,S23,V24,Y24")

v1 = Application.WorksheetFunction.Large(plage, 1)

plage.Find(v1, lookat:=xlWhole).Font.ColorIndex = 3

Ce code impose de trouver une valeur dans la plage indiquée.

Mon souhait : si il n'y a pas de valeur dans cette plage continuer à exécuter la suite des instructions

2e cas :

j'ai entré le code :

Set plage = Range("D12,D14,D16,G12,G14:G16,G20,J12:J16,J20,M12,M14:M20,P12,P14," & _

"S12,S13,S15,S16,S19,V12,V14,V18,Y12:Y14 ,Y17,D6,G5,G6,J5,J6,M6")

v1 = Application.WorksheetFunction.Large(plage, 1)

n = 0

For Each c In plage

If c.Value = v1 Then

n = n + 1

If n <= 2 Then

c.Font.ColorIndex = 3

End If

End If

Next c

If n = 1 Then

v2 = Application.WorksheetFunction.Large(plage, 2)

plage.Find(v2, lookat:=xlWhole).Font.ColorIndex = 3

End If

Ce code impose de trouver une valeur dans la plage indiquée.

Mon souhait : si il n'y a pas de valeur, ou si il y a qu'une seule valeur dans cette plage continuer à exécuter la suite des instructions

peut on m'aider ?

Bonjour,

Juste avant ta formule ... tu peux ajouter:

On Error Resume Next

Bonjour,

exemple sur le cas 1 :

Set plage = Range("D21,D22,G21,G22,J21:J24,M21,M22,M24,P21:P24,S22,S23,V24,Y24")
On Error GoTo suite
v1 = Application.WorksheetFunction.Large(plage, 1)
' plage non vide
plage.Find(v1, lookat:=xlWhole).Font.ColorIndex = 3
Set c = plage.Find(v1, lookat:=xlWhole)
' ...
Exit Sub
suite:
' plage vide
On Error GoTo 0
'...

eric

Rechercher des sujets similaires à "amelioration formule vba"