Problème excel

fireblanc

XLDnaute Nouveau
Bonjour,
Voici une macro que j'utilise pour masquer des colonnes vides sur excel cependant cette macro ne masque pas les cellules où figure des formules. Comment dois-je modifier cette macro afin de masquer les cellules dont le résultat de la formule rend la cellule vide ?
Exemple : =SI(A1=0;"")

CODE: TOUT SÉLECTIONNER
Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim COL As Byte 'déclare la variable COL (COLonne)

Set O = Worksheets("Feuil1") 'définit l'onglet O (à adapter à ton cas)
For COL = 5 To 40 'boucle sur les colonne 5 à 40 (=> E à AN)
'masque (>0) /affiche(=0) la colonne en fonction du nombre de valeurs contenues dans la colonne
O.Columns(COL).Hidden = IIf(Application.WorksheetFunction.CountA(O.Columns(COL)) = 0, True, False)
Next COL 'prochaine colonne de la ligne
End Sub


Merci
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir fireblanc,

Un essai dans le fichier joint. Le code est dans le module de la feuille "Feuil1":
VB:
Sub test()
Dim plage As Range, col As Range
  Application.ScreenUpdating = False
  Set plage = Intersect(UsedRange, Columns("e:an"))
  plage.EntireColumn.Hidden = False
  For Each col In plage.Columns
    Columns(col.Column).EntireColumn.Hidden = Application.WorksheetFunction.CountIf(col, "") = col.Rows.Count
  Next col
End Sub

nota: les cellules en jaune contiennent une formule qui renvoie la chaine vide ""
 

Pièces jointes

  • fireblanc- suppr colonnes vides- v1.xlsm
    17.3 KB · Affichages: 37
Dernière édition:

Discussions similaires

Réponses
25
Affichages
835
Réponses
14
Affichages
344
Réponses
3
Affichages
294

Statistiques des forums

Discussions
312 198
Messages
2 086 107
Membres
103 120
dernier inscrit
83400ren