Masquer les colonnes vides

VALNOE2626 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
 valnoe -
Bonjour,

J'ai créé une macro pour masquer les colonnes vides.

Le problème est que ça ne masque que la ligne 6, alors que je voudrais que soit maquer les colonnes vides sur une sélection de lignes de 6 à 125.

Pouvez vous m'aider.

Ma macro

Sub Masquer()
'Masque les colonnes où L3=X
Application.ScreenUpdating = False
Dim i As Integer
For i = 6 To 114
If Cells(6, i) = "" Then
Columns(i).Hidden = True
Else: Columns(i).Hidden = False
End If
Next i
Application.ScreenUpdating = True
End Sub

Merci

Valérie

1 réponse

Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526
 
Bonjour,

Sub Masquer()
Dim i As Integer
'Masque les colonnes où L3=X
Application.ScreenUpdating = False
For i = 6 To 114
If Application.CountIf(Cells(6, i).Resize(120), "<>") = 0 Then
Columns(i).Hidden = True
Else
Columns(i).Hidden = False
End If
Next i
Application.ScreenUpdating = True
End Sub


A+
0
VALNOE2626 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Ça fonctionne merci.

Par contre, si je fais un filtre sur le tableau et que je demande à masquer les colonnes vides, il prend en compte les lignes qui sont masquées par le filtre.

Comment faire pour qu'il masque que les colonnes vides dont les lignes sont affichées.

Merci

Valérie
0
Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526 > VALNOE2626 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Sub Masquer()
Dim i As Integer
Application.ScreenUpdating = False
Cells.Columns.Hidden = False
For i = 6 To 114
If Application.CountIf(Cells(6, i).Resize(120).SpecialCells(xlCellTypeVisible), "<>") = 0 Then
Columns(i).Hidden = True
Else
Columns(i).Hidden = False
End If
Next i
Application.ScreenUpdating = True
End Sub


A+
0
VALNOE2626 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   > Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai un message d'erreur
"erreur d'éxécution 13
incomptabilité de type

et j'ai la ligne ci-dessous en surbrillance

If Application.CountIf(Cells(6, i).Resize(120).SpecialCells(xlCellTypeVisible), "<>") = 0 Then
0
Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention   526 > VALNOE2626 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Il faudrait que tu joignes le fichier pour m'aider à comprendre ce qui ne fonctionne pas ....

Pour cela, tu peux utiliser https://www.cjoint.com/

A+
0
VALNOE2626 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   > Gyrus Messages postés 3334 Date d'inscription   Statut Membre Dernière intervention  
 
0