Cacher les 5 colonnes qui suivent si cellule vide

pumbathekings

XLDnaute Junior
Bonjour à tous,

Je suis de retour sur le forum car j'ai une petite question:

J'ai des cellules D6, J6, P6 et V6. Si ces cellules sont vides ("") , alors elle + les 5 colonnes qui suivent se masquent.

Ex: si D6 vide, alors les colonnes D, E, F, G, H ,I sont masquées.

Merci pour votre aide.

Pumba
 

Pierrot93

XLDnaute Barbatruc
Re : Cacher les 5 colonnes qui suivent si cellule vide

Re,

on peut aussi mettre ceci dans une boucle :
Code:
Option Explicit
Sub test()
Dim i As Long
For i = 4 To 22 Step 6
    Cells(6, i).Resize(, 6).EntireColumn.Hidden = IsEmpty(Cells(6, i))
Next i
End Sub
 

pumbathekings

XLDnaute Junior
Re : Cacher les 5 colonnes qui suivent si cellule vide

Bonjour Pierrot,

Merci pour tes deux réponse. la deuxième est parfait.
J'ai cependant omis de préciser que je voulais en réappuyant sur le bouton que les colonnes réapparaissent. Par y arriver je me suis basé sur ton code mais cela ne marche pas :/:

Private Sub Bouton5_Cliquer()
Dim i As Long

For i = 4 To 22 Step 6
If Cells(6, i) = "" Then

Cells(6, i).Resize(, 6).EntireColumn
.Hidden = Not .Hidden
End If
Next i
End Sub

Merci.

Pumba
 

Pierrot93

XLDnaute Barbatruc
Re : Cacher les 5 colonnes qui suivent si cellule vide

Re,

modifie comme suit :
Code:
Private Sub Bouton5_Cliquer()
Dim i As Long
For i = 4 To 22 Step 6
    If Cells(6, i) = "" Then
        Cells(6, i).Resize(, 6).EntireColumn.Hidden = False
    End If
Next i
End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : Cacher les 5 colonnes qui suivent si cellule vide

Re,

Comment pourrais-je gérer le .hidde . hidden avec le même bouton

bah... dans ce cas pas s'occupper du contenu des cellules.... tester seulement si masqué ou pas et faire le contraire....

Code:
Option Explicit
Sub test()
Dim i As Long
For i = 4 To 22 Step 6
    With Cells(6, i).Resize(, 6).EntireColumn
        .Hidden = Not .Hidden
    End With
Next i
End Sub
 

pumbathekings

XLDnaute Junior
Re : Cacher les 5 colonnes qui suivent si cellule vide

c'est bon , je suis arrivé à faire se que je voulais.

Code:
Option Explicit
Option Explicit
Sub Bouton5_Cliquer()
Dim i As Long
For i = 4 To 180 Step 6
    With Cells(6, i).Resize(, 6).EntireColumn
        If Cells(6, i) = "" Then
        .Hidden = Not .Hidden
        End If
    End With
Next i
End Sub
[/QUOTE]

Merci beaucoup Pierrot
 

Discussions similaires

Réponses
7
Affichages
292