Je fatigue : problème de syntaxe .Add

Résolu
CerberusPau Messages postés 377 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 22 août 2018 - 1 juil. 2013 à 01:11
CerberusPau Messages postés 377 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 22 août 2018 - 1 juil. 2013 à 01:27
Bonsoir,

Franchement, je ne pensais pas buter sur un problème que je sais être simple: coloriser une ligne sur deux en VBA mais par les formats conditionnels (j'ai des filtres) avec formula1="=MOD(x;2)=0" où x est le row de la dernière ligne que la macro ajoute.

Sub LigneSurDeux()

Dim last As Integer
last = Range("A65536").End(xlUp).Row + 1
Range("A" & last & ":AA" & last).Select

'erreur définie par l'applicatio ou par l'objet...!
Range("A" & last & ":AA" & last).FormatConditions.Add _
    Type:=xlExpression, _
    Formula1:="=MOD(" & last & ";2)=0"
'idem avec Formula1:="=MOD(ligne();2)=0"

'même combat...!
Range("A" & last & ":AA" & last).Select
Selection.FormatConditions.Add _
    Type:=xlExpression, _
    Formula1:="=MOD(" & last & ";2)=0"


'J'ai pas encore pu voir pour cette ligne...
Range("A" & last & ":AA" & last).FormatConditions(1).Interior.ColorIndex = 34

End Sub


Je ne trouve pas où est mon erreur de script

Merci de votre aide

Cordialement
Rataxes64

1 réponse

CerberusPau Messages postés 377 Date d'inscription lundi 3 avril 2006 Statut Membre Dernière intervention 22 août 2018 1
1 juil. 2013 à 01:27
Re,

Oh la quiche que je suis...

Evidemment, s'il y DEJA un format conditionnel, ça marche pas!

Sub LigneSurDeux()

Dim last As Integer
last = Range("A65536").End(xlUp).Row + 1

    Range("A" & last & ":AA" & last).FormatConditions.Delete
    Range("A" & last & ":AA" & last).FormatConditions.Add _
        Type:=xlExpression, _
        Formula1:="=MOD(LIGNE();2)"
    Range("A" & last & ":AA" & last).FormatConditions(1).Interior.ColorIndex = 38

End Sub


Là, c'est bon!

Cordialement
Rataxes64
3
Rejoignez-nous