Bonjour,

J'ai un formulaire qui est remplie automatiquement via des Vlookup, sur l'information produit.

Je n'ai à changé qu'une seul cellule (le produit) pour changer toute l'information.


J'ai tenté d'écrire un code qui vient cacher automatiquement certaine ligne/colonnes quand certaines cases sont vides:

Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
Private Sub Worksheet_Change(ByVal Target As Range)
 
    If Range("k7").Value = 0 Then
        Columns("k").EntireColumn.Hidden = True
    Else
        Columns("k").EntireColumn.Hidden = False
 
        End If
        End Sub
 
Private Sub Worksheet_Change(ByVal Target As Range)
    If Range("c19").Value = 0 Then
 
        Rows("19:83").EntireRow.Hidden = True
    Else
        Rows("19:83").EntireColumn.Hidden = False
 
        End If
        End Sub

Mon code fonctionne individuellement... Je sais qu'on ne peut pas avoir plusieurs Private Sub Worksheet_Change, j'ai alors tenté la variante suivante:

Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
Private Sub Worksheet_Change(ByVal Target As Range)
 
    If Range("k7").Value = 0 Then
        Columns("k").EntireColumn.Hidden = True
    Else
        Columns("k").EntireColumn.Hidden = False
 
        End If
 
    If Range("c19").Value = 0 Then
 
        Rows("19:83").EntireRow.Hidden = True
    Else
        Rows("19:83").EntireColumn.Hidden = False
 
        End If
 
        End Sub

Mais ça ne fonctionne pas. Mes deux if doivent être validé pour que le code fonctionne. Si k7 =0 mais pas c19 ça ne fonctionne pas et vice versa...

Une idée?

Merci