[VBA] Afficher lignes en fonction de la valeur d'une cellule
Bonjour à Tous,
Petite présentation, nouveau sur ce forum, et débutant sur EXCEL,
Voici ma demande,
Dans la feuille "DEVIS_MENUISERIE" Je souhaite afficher ou masquer les lignes 2 à 15 en fonction de la valeur obtenu dans la cellule A2
La cellule A2 contient la formule suivante =SI(A1>0;A1;"") la formule permet d'obtenir la valeur indiqué en cellule A1
Comment puis-je écrire en VBA ce qui suit
Si A2 >0 alors la ligne 2 s'affiche sinon elle reste maqué
Si A2 >1 alors la ligne 3 s'affiche sinon elle reste maqué
Si A2 >2 alors la ligne 4 s'affiche sinon elle reste maqué
Si A2 >3 alors la ligne 5 s'affiche sinon elle reste maqué
Si A2 >4 alors la ligne 6 s'affiche sinon elle reste maqué
Si A2 >5 alors la ligne 7 s'affiche sinon elle reste maqué
Si A2 >6 alors la ligne 8 s'affiche sinon elle reste maqué
Si A2 >7 alors la ligne 9 s'affiche sinon elle reste maqué
Si A2 >8 alors la ligne 10 s'affiche sinon elle reste maqué
Si A2 >9 alors la ligne 11 s'affiche sinon elle reste maqué
Si A2 >10 alors la ligne 12 s'affiche sinon elle reste maqué
Si A2 >11 alors la ligne 13 s'affiche sinon elle reste maqué
Si A2 >12 alors la ligne 14 s'affiche sinon elle reste maqué
Si A2 >13 alors la ligne 15 s'affiche sinon elle reste maqué
Je vous remercie pour votre aide précieuse,
Ci après le fichier en question
Grace au cours VBA j'ai fait ça
Ça fonctionne bien mais,
- Pensez vous qu'il est possible de simplifier ce code VBA?
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A2") = "" Then
Rows("2:15").EntireRow.Hidden = False
Else
Rows("2:15").EntireRow.Hidden = True
End If
If Range("A2") > 0 Then
Rows("2:15").EntireRow.Hidden = False
Else
Rows("2:15").EntireRow.Hidden = True
End If
If Range("A2") > 1 Then
Rows("3:15").EntireRow.Hidden = False
Else
Rows("3:15").EntireRow.Hidden = True
End If
If Range("A2") > 2 Then
Rows("4:15").EntireRow.Hidden = False
Else
Rows("4:15").EntireRow.Hidden = True
End If
If Range("A2") > 3 Then
Rows("5:15").EntireRow.Hidden = False
Else
Rows("5:15").EntireRow.Hidden = True
End If
If Range("A2") > 4 Then
Rows("6:15").EntireRow.Hidden = False
Else
Rows("6:15").EntireRow.Hidden = True
End If
If Range("A2") > 5 Then
Rows("7:15").EntireRow.Hidden = False
Else
Rows("7:15").EntireRow.Hidden = True
End If
If Range("A2") > 6 Then
Rows("8:15").EntireRow.Hidden = False
Else
Rows("8:15").EntireRow.Hidden = True
End If
If Range("A2") > 7 Then
Rows("9:15").EntireRow.Hidden = False
Else
Rows("9:15").EntireRow.Hidden = True
End If
If Range("A2") > 8 Then
Rows("10:15").EntireRow.Hidden = False
Else
Rows("10:15").EntireRow.Hidden = True
End If
If Range("A2") > 9 Then
Rows("11:15").EntireRow.Hidden = False
Else
Rows("11:15").EntireRow.Hidden = True
End If
If Range("A2") > 10 Then
Rows("12:15").EntireRow.Hidden = False
Else
Rows("12:15").EntireRow.Hidden = True
End If
If Range("A2") > 11 Then
Rows("13:15").EntireRow.Hidden = False
Else
Rows("13:15").EntireRow.Hidden = True
End If
If Range("A2") > 12 Then
Rows("14:15").EntireRow.Hidden = False
Else
Rows("14:15").EntireRow.Hidden = True
End If
If Range("A2") > 13 Then
Rows("15:15").EntireRow.Hidden = False
Else
Rows("15:15").EntireRow.Hidden = True
End If
End SubJe vous remercie pour votre aide,
Bonjour,
S'il vous plait, pourriez-vous m'aider à simplifier ce code?
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A2") = "" Then
Rows("2:15").EntireRow.Hidden = False
Else
Rows("2:15").EntireRow.Hidden = True
End If
If Range("A2") > 0 Then
Rows("2:15").EntireRow.Hidden = False
Else
Rows("2:15").EntireRow.Hidden = True
End If
If Range("A2") > 1 Then
Rows("3:15").EntireRow.Hidden = False
Else
Rows("3:15").EntireRow.Hidden = True
End If
If Range("A2") > 2 Then
Rows("4:15").EntireRow.Hidden = False
Else
Rows("4:15").EntireRow.Hidden = True
End If
If Range("A2") > 3 Then
Rows("5:15").EntireRow.Hidden = False
Else
Rows("5:15").EntireRow.Hidden = True
End If
If Range("A2") > 4 Then
Rows("6:15").EntireRow.Hidden = False
Else
Rows("6:15").EntireRow.Hidden = True
End If
If Range("A2") > 5 Then
Rows("7:15").EntireRow.Hidden = False
Else
Rows("7:15").EntireRow.Hidden = True
End If
If Range("A2") > 6 Then
Rows("8:15").EntireRow.Hidden = False
Else
Rows("8:15").EntireRow.Hidden = True
End If
If Range("A2") > 7 Then
Rows("9:15").EntireRow.Hidden = False
Else
Rows("9:15").EntireRow.Hidden = True
End If
If Range("A2") > 8 Then
Rows("10:15").EntireRow.Hidden = False
Else
Rows("10:15").EntireRow.Hidden = True
End If
If Range("A2") > 9 Then
Rows("11:15").EntireRow.Hidden = False
Else
Rows("11:15").EntireRow.Hidden = True
End If
If Range("A2") > 10 Then
Rows("12:15").EntireRow.Hidden = False
Else
Rows("12:15").EntireRow.Hidden = True
End If
If Range("A2") > 11 Then
Rows("13:15").EntireRow.Hidden = False
Else
Rows("13:15").EntireRow.Hidden = True
End If
If Range("A2") > 12 Then
Rows("14:15").EntireRow.Hidden = False
Else
Rows("14:15").EntireRow.Hidden = True
End If
If Range("A2") > 13 Then
Rows("15:15").EntireRow.Hidden = False
Else
Rows("15:15").EntireRow.Hidden = True
End If
End SubFichier