2 votes

L'instruction IF imbriquée ne fonctionne que lorsque l'instruction IF extérieure est modifiée.

Je m'essaie au VBA.

J'ai une déclaration qui dit :

Sub PM()

Set rn = ActiveWindow.VisibleRange.Cells(1, 1)
Application.ScreenUpdating = False
'If Not Intersect(Target, Range("C27")) Is Nothing Then
If Range("C27") = 3 Then
ActiveSheet.Shapes("Option Button 28").Select
Selection.Enabled = False
If Range("J57") < 455 Then
Range("J56") = False
Else
Range("J56") = True
End If
Else
ActiveSheet.Shapes("Option Button 28").Select
Selection.Enabled = True
End If
rn.Activate
Application.ScreenUpdating = True

End Sub

Lorsque je modifie la cellule C27, la valeur transmise à la cellule J56 fonctionne parfaitement. Mais une fois que la valeur de C27 est choisie, et que je change ensuite la cellule J57, J56 ne change pas en conséquence comme il le devrait. Je dois à nouveau modifier la valeur de C27 pour que J56 reflète la bonne valeur.

Quelqu'un peut-il m'indiquer ce que je fais mal ?

2voto

Yorik Points 3956

Je suppose que vous appelez ce code à partir d'un événement déclenché sur c27 uniquement, donc si vous modifiez j57, la fonction/sub n'est pas appelée.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X