Bonjour à tous,
J’utilise une macro très longue dans laquelle certaines plages délimitant les actions s’interfèrent. En effet, j’ai ceci :
If Target.Count > 1 Then Exit Sub
If Target.Value = "" Then Exit Sub
Partie 1
If Target.Row < 95 Or Target.Row > 482 Then Exit Sub
If Target.Column < 39 Or Target.Column > 39 Then Exit Sub
If Target.Row Mod 2 = 0 Then Exit Sub
Partie 2
If Target.Column <> 1 Or Target.Count > 1 Then Exit Sub
Var = (Target.Row / 131)
If Target.Row / 131 = Int(Target.Row / 131) Then
If Target.Value <> "" Then
Range("A" & Target.Row + 2 & ":A" & Target.Row + 43).EntireRow.Hidden = False
Else
Range("A" & Target.Row + 2 & ":A" & Target.Row + 43).EntireRow.Hidden = True
End If
End If
‘ Partie 3 :
If Target.Column <> 1 Or Target.Count > 1 Then Exit Sub
Var = (Target.Row / 173)
If Target.Row / 173 = Int(Target.Row / 173) Then
If Target.Value <> "" Then
Range("A" & Target.Row + 2 & ":A" & Target.Row + 45).EntireRow.Hidden = False
Else
Range("A" & Target.Row + 2 & ":A" & Target.Row + 45).EntireRow.Hidden = True
End If
End If
Mon problème est que les parties 1 et 2 se réalisent parfaitement, mais tout ce qui est partie 3 ne fonctionne pas.
Si je mets la partie 3 au début, alors les parties 1 et 2 ne se réalisent plus. Comment puis-je faire pour que chaque partie puisse s’exécuter dans tous les cas ? Comment délimiter les plages autrement ?
D’avance je vous remercie,
Riegel
J’utilise une macro très longue dans laquelle certaines plages délimitant les actions s’interfèrent. En effet, j’ai ceci :
If Target.Count > 1 Then Exit Sub
If Target.Value = "" Then Exit Sub
Partie 1
If Target.Row < 95 Or Target.Row > 482 Then Exit Sub
If Target.Column < 39 Or Target.Column > 39 Then Exit Sub
If Target.Row Mod 2 = 0 Then Exit Sub
Partie 2
If Target.Column <> 1 Or Target.Count > 1 Then Exit Sub
Var = (Target.Row / 131)
If Target.Row / 131 = Int(Target.Row / 131) Then
If Target.Value <> "" Then
Range("A" & Target.Row + 2 & ":A" & Target.Row + 43).EntireRow.Hidden = False
Else
Range("A" & Target.Row + 2 & ":A" & Target.Row + 43).EntireRow.Hidden = True
End If
End If
‘ Partie 3 :
If Target.Column <> 1 Or Target.Count > 1 Then Exit Sub
Var = (Target.Row / 173)
If Target.Row / 173 = Int(Target.Row / 173) Then
If Target.Value <> "" Then
Range("A" & Target.Row + 2 & ":A" & Target.Row + 45).EntireRow.Hidden = False
Else
Range("A" & Target.Row + 2 & ":A" & Target.Row + 45).EntireRow.Hidden = True
End If
End If
Mon problème est que les parties 1 et 2 se réalisent parfaitement, mais tout ce qui est partie 3 ne fonctionne pas.
Si je mets la partie 3 au début, alors les parties 1 et 2 ne se réalisent plus. Comment puis-je faire pour que chaque partie puisse s’exécuter dans tous les cas ? Comment délimiter les plages autrement ?
D’avance je vous remercie,
Riegel