Microsoft 365 Masquer toute la colonne si une condition est remplie

RCAVBA

XLDnaute Junior
Bonjour,

Je souhaiterais masquer une colonne si toutes les cellules de cette colonne sont valorisées par une valeur "X", via une macro.

Colonne A :
x
x
x
x
x

L'objectif est de créer une macro permettant de masquer toute la colonne si toutes les cellules sont valorisées par un texte "X".

Je vous en remercie.
Cdt,
 
Dernière édition:
Solution
OK toutes :
VB:
Sub Masquer()
Application.ScreenUpdating = False
With ActiveSheet.UsedRange
    .Rows(.Rows.Count + 1) = "=1/(COUNTIF(R1C:R[-1]C,""X"")=" & .Rows.Count & ")"
    On Error Resume Next 'si aucune SpecialCell
    .Rows(.Rows.Count + 1).SpecialCells(xlCellTypeFormulas, 1).EntireColumn.Hidden = True
    .Rows(.Rows.Count + 1).Delete xlUp
End With
End Sub

job75

XLDnaute Barbatruc
Bonjour RCAVBA, Yoyo01000,

Exécutez cette macro :
VB:
Sub Masquer()
Application.ScreenUpdating = False
With ActiveSheet.UsedRange
    .Rows(.Rows.Count + 1) = "=1/COUNTIF(R1C:R[-1]C,""X"")"
    On Error Resume Next 'si aucune SpecialCell
    .Rows(.Rows.Count + 1).SpecialCells(xlCellTypeFormulas, 1).EntireColumn.Hidden = True
    .Rows(.Rows.Count + 1).Delete xlUp
End With
End Sub
La ou les colonnes contenant des "X" se masquent.

A+
 

job75

XLDnaute Barbatruc
OK toutes :
VB:
Sub Masquer()
Application.ScreenUpdating = False
With ActiveSheet.UsedRange
    .Rows(.Rows.Count + 1) = "=1/(COUNTIF(R1C:R[-1]C,""X"")=" & .Rows.Count & ")"
    On Error Resume Next 'si aucune SpecialCell
    .Rows(.Rows.Count + 1).SpecialCells(xlCellTypeFormulas, 1).EntireColumn.Hidden = True
    .Rows(.Rows.Count + 1).Delete xlUp
End With
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 165
Messages
2 085 882
Membres
103 009
dernier inscrit
dede972