Bonjour,
Dans un tableau, j'ai crée un code VBA pour cacher deux colonnes consécutives "D:E" en fonction d'une valeur de la colonne E.
Je pourrais répéter ce code pour toutes les colonnes consécutives selon les valeurs de la ligne 2 mais il y en a beaucoup dans mon fichier et je risque d'en rajouter.
J'ai donc besoin d'aide pour propager ce code sur tout un range de colonnes (cacher D:E si E2=0; cacher F:G si G2=0; cacher H:I si I2=0, etc.…).
Dans l'exemple ci dessous je veux cacher les colonnes "D:E" (car E2=0) & cacher les colonnes "H:I" (car I2=0)
Ci dessous le code que j'utilise (et que je répète pour chaque colonne)
-----
Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("E2:E2") = 0 Then
'Columns("D:E").EntireColumn.Hidden = True
Else
''Autrement visible
If Range("E2:E2") <> 0 Then
Columns("D:E").EntireColumn.Hidden = False
End If
End If
End Sub
-------
Dans un tableau, j'ai crée un code VBA pour cacher deux colonnes consécutives "D:E" en fonction d'une valeur de la colonne E.
Je pourrais répéter ce code pour toutes les colonnes consécutives selon les valeurs de la ligne 2 mais il y en a beaucoup dans mon fichier et je risque d'en rajouter.
J'ai donc besoin d'aide pour propager ce code sur tout un range de colonnes (cacher D:E si E2=0; cacher F:G si G2=0; cacher H:I si I2=0, etc.…).
Dans l'exemple ci dessous je veux cacher les colonnes "D:E" (car E2=0) & cacher les colonnes "H:I" (car I2=0)
B | C | D | E | F | G | H | I | J | K | L | M | N | O |
| Sous Totaux | | 0 | | 3 | | 0 | | 4 | | 3 | | 1 |
SCE | NOM | JPYOK | eta YOK | KRPUS | eta PUS | HKHKG | eta HKG | CNSHA | eta SHA | TWKEL | eta KEL | TWKHH | eta KHH |
SERVICE 1 | FIORDLAND | | | 10 | 30/07/2024--N | | | 120 | 05/08/2024--N | 0 | 23/07/2024--N | 54 | 07/08/2024--N |
SERVICE 1 | RANGHAI | | | 11 | 06/08/2024--Y | | | 100 | 12/08/2024--Y | 1 | 30/07/2024--N | | |
SERVICE 1 | DESGRADES | | | 2 | 06/08/2024--N | | | 152 | 12/08/2024--N | | | | |
SERVICE 1 | MAIKALY | | | | | | | 0 | | 4 | 08/08/2024--N | |
Ci dessous le code que j'utilise (et que je répète pour chaque colonne)
-----
Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("E2:E2") = 0 Then
'Columns("D:E").EntireColumn.Hidden = True
Else
''Autrement visible
If Range("E2:E2") <> 0 Then
Columns("D:E").EntireColumn.Hidden = False
End If
End If
End Sub
-------
Pièces jointes
Dernière édition: