[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 Sub

Je 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 Sub

Fichier

Rechercher des sujets similaires à "vba afficher lignes fonction valeur"