Sheets(feuille(1)).Range("D4:CF4").SpecialCells(xlCellTypeBlanks).EntireColumn.Hidden = True
=feuille3!D4
=SI(ESTNUM(feuille3!D4;feuille3!D4;"")
=feuille3!D4
ces colonnes je voudrais les cacher pour que le tableau soit plus pratique à remplir. (peut importe ce qu'elles contiendront.
J'ai une ligne D4:CF4 sur laquelle certaines cases ont des numéros et d'autres non.
le but est de cacher les colonnes où les cases sont vides.
sur le "récapitulatif", je voudrais que les lignes vides (entre 29 et 35) ainsi que toutes les colonnes vides se cachent.
idem pour le feuillet classement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionColumns("C:C").Select Selection.EntireColumn.Hidden = True Columns("F:F").Select Selection.EntireColumn.Hidden = True
Dim I As Long, J As Long, Nb As Long Dim nbLignes As Long, nbColonnes As Long 'Nombre de lignes - Calcul sur colonne A nbLignes = Cells(Rows.Count, "A").End(xlUp).Row 'Nombre de colonnes - Calcul sur ligne 1 (entêtes) nbColonnes = Cells(1, Columns.Count).End(xlToLeft).Column For J = 1 To nbColonnes 'lecture de chaque colonne Nb = 0 For I = 2 To nbLignes 'lecture de chaque ligne, excluant les entêtes If Cells(I, J).Value = "" Then 'on incrémente de 1 à chaque cellule vide Nb = Nb + 1 'Si toutes les cellules sont vides, on masque If Nb nbLignes - 1 Then Columns(J).Hidden True Else 'On a trouvé au moins une valeur et on sort Exit For End If Next Next
If Nb nbLignes - 1 Then Sheets(feuille(2)).Columns(J).Hidden True
Nb nbLignes - 1 Then Sheets(feuille(2)).Columns(J).Hidden True Nb nbLignes - 1 Then Sheets(feuille(1)).Columns(J).Hidden True Nb nbLignes - 1 Then Sheets(feuille(3)).Columns(J).Hidden True
Dim arrFeuilles as Variant arrFeuilles = Array("Feuil1","MaFeuille2","UneAutre") 'les noms des feuilles for x = 0 to UBound(arrFeuilles) arrFeuilles(x).Activate 'Tout le code que j'ai mis à part les dim Next
Sub Macro1() ' Dim I As Long, J As Long, Nb As Long Dim nbLignes As Long, nbColonnes As Long 'Nombre de lignes - Calcul sur colonne A nbLignes = Cells(Rows.Count, "A").End(xlUp).Row 'Nombre de colonnes - Calcul sur ligne 1 (entêtes) nbColonnes = Cells(2, Columns.Count).End(xlToLeft).Column Dim arrFeuilles As Variant arrFeuilles = Array("test1", "test2", "test3") 'les noms des feuilles For x = 0 To UBound(arrFeuilles) arrFeuilles(x).Activate 'Tout le code que j'ai mis à part les dim For J = 1 To nbColonnes 'lecture de chaque colonne Nb = 0 For I = 2 To nbLignes 'lecture de chaque ligne, excluant les entêtes If Cells(I, J).Value = "" Then 'on incrémente de 1 à chaque cellule vide Nb = Nb + 1 'Si toutes les cellules sont vides, on masque If Nb nbLignes - 1 Then Columns(J).Hidden True ' Sheets(feuille(2)).Columns(J).Hidden = True Else 'On a trouvé au moins une valeur et on sort Exit For End If Next Next Next End Sub
'Nombre de lignes - Calcul sur colonne A nbLignes = Cells(Rows.Count, "A").End(xlUp).Row 'Nombre de colonnes - Calcul sur ligne 1 (entêtes) nbColonnes = Cells(2, Columns.Count).End(xlToLeft).Column
If Cells(I, J).Value = "" Then
For I = 1 to nbColonnes If Sheets(arrFeuilles(X)).Cells(2, I) = "" Then Sheets(arrFeuilles(X)).columns(I).Hidden =True ...