Masquer les colonnes vides
bonjour,
Je réalise une base de données qui comporte une trentaine de colonnes.
Parfois des colonnes ne contiennent pas d'information et j'aimerai bien les masquer, pour qu'à l'impression mon tableau tienne sur une feuille.
Comment puis-je sélectionner les colonnes vides (où qui comportent des cellules vides ?)
pour info, j'ai déjà testé la macro suivante, sans succès.
Merci d'avance.
Option Explicit
Sub Vide()
'Ti
'http://www.veriti.net
'masquer les lignes vides avant impression
Dim Plage As Range
On Error Resume Next
Application.ScreenUpdating = False
With ActiveSheet
Set Plage = .Range("B2:B17").Cells.SpecialCells(xlCellTypeBlanks)
If Not Plage Is Nothing Then Plage.Rows.Hidden = True
.PrintPreview 'pour voir sans imprimer
'.PrintOut ' pour imrimer directement
.Rows.Hidden = False
End With
End SubBonjour,
Remplace ROWS par COLUMNS mais cette macro ne fonctionne que dans la plage B2 à B17. Il te faut donc mettre par exemple B2:F1000 (soit la plage de ta base de données)
D'autre part cela suppose que lorsque tu parles de colonne vide, c'est toute la colonne et pas une cellule en particulier.
Sans macro, pense aussi à utiliser le mode plan. Sélectionne la colonne vide puis vas dans menu/données/grouper créer un plan puis option Grouper.
A l'impression il suffit de cliquer sur les petits carrés créés à gauche pour cacher ou montrer les colonnes.
A te lire
Dan
Edition : oups, trop vite. Le remplacement de ROWS par COLUMNS ne fonctionne évidemment pas.
Essaye ceci plutôt :
Sub Vide()
'Macro de Ti modifiée par Dan pour excel-pratique
'masquer les lignes vides avant impression
Dim Plage As Range, c As Range
On Error Resume Next
Application.ScreenUpdating = False
With ActiveSheet
Set Plage = .Range("B2:D17").Cells.SpecialCells(xlCellTypeBlanks)
For Each c In Plage
If c.Value = "" Is Nothing Then c.EntireColumn.Hidden = True
Next c
.PrintPreview 'pour voir sans imprimer
'.PrintOut ' pour imrimer directement
.Columns.Hidden = False
End With
End SubA te lire
Dan