Masquer les colonnes vides

Fermé
VALNOE2626 Messages postés 11 Date d'inscription mardi 18 février 2014 Statut Membre Dernière intervention 20 octobre 2016 - 20 mai 2016 à 18:23
 valnoe - 24 mai 2016 à 11:27
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 samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
20 mai 2016 à 18:44
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 mardi 18 février 2014 Statut Membre Dernière intervention 20 octobre 2016
20 mai 2016 à 19:11
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 samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523 > VALNOE2626 Messages postés 11 Date d'inscription mardi 18 février 2014 Statut Membre Dernière intervention 20 octobre 2016
20 mai 2016 à 19:53
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 mardi 18 février 2014 Statut Membre Dernière intervention 20 octobre 2016 > Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016
20 mai 2016 à 20:13
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 samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523 > VALNOE2626 Messages postés 11 Date d'inscription mardi 18 février 2014 Statut Membre Dernière intervention 20 octobre 2016
20 mai 2016 à 21:09
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 mardi 18 février 2014 Statut Membre Dernière intervention 20 octobre 2016 > Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016
20 mai 2016 à 21:56
0