Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Erreur dans code VBA

1 réponse
Avatar
Pierre Archambault
Bonjour,

J'ai du code qui sélectionne une plage et qui la formate. Une ligne sur deux
est ombragée en bleu pâle.

Neuf fois sur dix, cela fonctionne très bien. Mais il arrive, de façon
imprévisible que le programme plante sur la deuxième ligne ci-dessous. Je ne
m'explique pas ce comportement car il suffit que je quitte Excel, que
j'attende quelques minutes avant de réouvrir mon classeur puis relancer la
macro et là, la plupart du temps, tout revient à la normale, plus d'erreur!

À noter que je ne fais aucune modification au code. Serait-ce une question
de délais, de vitesse d'exécution je ne sais pas...

Range("A10:F13").Select
Selection.FormatConditions.Add Type:=xlExpression,
Formula1:="=MOD(LIGNE();2)=1"
With Selection.FormatConditions(1).Interior
.PatternColorIndex = 37
.Pattern = xlGray25
End With

Merci pour vos lumières.

Pierre

1 réponse

Avatar
michdenis
Bonjour Pierre,

Essaie ceci en adaptant le nom de la feuille où l'action se déroule :

Attention, si ta feuille est protégée, il faut alors enlever la protection pour
exécuter ce code et remettre la protection de la feuille à la fin de la
procédure.

'------------------------
Sub TEST()

With Worksheets("Feuil1") 'à déterminer
With .Range("A10:F13")
.FormatConditions.Delete
With .FormatConditions.Add(Type:=xlExpression, _
Formula1:="=MOD(LIGNE();2)=1")
With .Interior
.PatternColorIndex = 37
.Pattern = xlGray25
End With
End With
End With
End With

End Sub
'------------------------


Salutations!



"Pierre Archambault" a écrit dans le message de news:
hEWZe.23752$
Bonjour,

J'ai du code qui sélectionne une plage et qui la formate. Une ligne sur deux
est ombragée en bleu pâle.

Neuf fois sur dix, cela fonctionne très bien. Mais il arrive, de façon
imprévisible que le programme plante sur la deuxième ligne ci-dessous. Je ne
m'explique pas ce comportement car il suffit que je quitte Excel, que
j'attende quelques minutes avant de réouvrir mon classeur puis relancer la
macro et là, la plupart du temps, tout revient à la normale, plus d'erreur!

À noter que je ne fais aucune modification au code. Serait-ce une question
de délais, de vitesse d'exécution je ne sais pas...

Range("A10:F13").Select
Selection.FormatConditions.Add Type:=xlExpression,
Formula1:="=MOD(LIGNE();2)=1"
With Selection.FormatConditions(1).Interior
.PatternColorIndex = 37
.Pattern = xlGray25
End With

Merci pour vos lumières.

Pierre