Masquer des colonnes en fonction de leur résultat.
3 réponses
Ceno
Bonjour =E0 tous,
Je cherche quelques lignes de code pour me permettre de masquer des
colonnes au moment de l'=E9dition.
En fait j'ai un tableau qui part de B15 =E0 U80, c'est un tableau recap
et suivant les cas j'ai plein de colonne vide, alors je voudrais
masquer les colonnes =E0 z=E9ro au moment de l'=E9dition afin que le tableau=
reste lisible =E0 l'=E9dition et sur une seule page.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Excel...lent
Bonjour
Private Sub Worksheet_Activate() ' masques les colonnes dont la première cellule est vide For x = 2 To 21 If Cells(15, x) = "" Then Cells(15, x).Select Selection.EntireColumn.Hidden = True End If Next x ' imprime ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True ' re affiche toutes les colonnes Cells.Select Selection.EntireColumn.Hidden = False Range("A1").Select
End Sub
Cordialement
Excel...lent
Bonjour
Private Sub Worksheet_Activate()
' masques les colonnes dont la première cellule est vide
For x = 2 To 21
If Cells(15, x) = "" Then
Cells(15, x).Select
Selection.EntireColumn.Hidden = True
End If
Next x
' imprime
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
' re affiche toutes les colonnes
Cells.Select
Selection.EntireColumn.Hidden = False
Range("A1").Select
Private Sub Worksheet_Activate() ' masques les colonnes dont la première cellule est vide For x = 2 To 21 If Cells(15, x) = "" Then Cells(15, x).Select Selection.EntireColumn.Hidden = True End If Next x ' imprime ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True ' re affiche toutes les colonnes Cells.Select Selection.EntireColumn.Hidden = False Range("A1").Select
End Sub
Cordialement
Excel...lent
Ceno
Merci à toi Excel...lent,
Seulement mon souci c'est que je veux masquer les colonnes dont le total des lignes est à 0 pas seulement la première. C'est Possible ? As tu une solution ?
Par avance merci.
Merci à toi Excel...lent,
Seulement mon souci c'est que je veux masquer les colonnes dont le
total des lignes est à 0 pas seulement la première. C'est Possible ?
As tu une solution ?
Seulement mon souci c'est que je veux masquer les colonnes dont le total des lignes est à 0 pas seulement la première. C'est Possible ? As tu une solution ?
Par avance merci.
Excel...lent
Salut Cena,
J'en déduis donc que les valeurs de ton tableau ne sont que numériques. J'ai oublié de te préciser que ce code doit être mis dans le code VBA de ta feuille.
Essaies ceci :
Private Sub Worksheet_Activate() Dim TotCol ' masques les colonnes dont la somme de la ligne 15 à 80 est égale à rien For x = 2 To 21 TotCol = Application.WorksheetFunction.Sum(Range(Cells(15, x), Cells(80, x))) If TotCol = 0 Then Cells(15, x).Select Selection.EntireColumn.Hidden = True End If Next x ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True ' re affiche toutes les colonnes Cells.Select Selection.EntireColumn.Hidden = False Range("A1").Select End Sub
Cordialement.
Excel...lent
N'hésitez pas à visiter ces mines d'or ! ! ! http://www.excelabo.net/ http://xlwiki.free.fr/wiki/wakka.php?wiki=PageAccueil http://frederic.sigonneau.free.fr/ http://dj.joss.free.fr/ http://www.cathyastuce.com/excel.htm http://jacxl.free.fr/cours_xl/cadres.html?ex http://www.dualforum.com/ http://www.excel-downloads.com/forum/forum-excel/
"Ceno" a écrit dans le message de news:
Merci à toi Excel...lent,
Seulement mon souci c'est que je veux masquer les colonnes dont le total des lignes est à 0 pas seulement la première. C'est Possible ? As tu une solution ?
Par avance merci.
Salut Cena,
J'en déduis donc que les valeurs de ton tableau ne sont que numériques.
J'ai oublié de te préciser que ce code doit être mis dans le code VBA de ta
feuille.
Essaies ceci :
Private Sub Worksheet_Activate()
Dim TotCol
' masques les colonnes dont la somme de la ligne 15 à 80 est égale à rien
For x = 2 To 21
TotCol = Application.WorksheetFunction.Sum(Range(Cells(15, x), Cells(80,
x)))
If TotCol = 0 Then
Cells(15, x).Select
Selection.EntireColumn.Hidden = True
End If
Next x
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
' re affiche toutes les colonnes
Cells.Select
Selection.EntireColumn.Hidden = False
Range("A1").Select
End Sub
Cordialement.
Excel...lent
N'hésitez pas à visiter ces mines d'or ! ! !
http://www.excelabo.net/
http://xlwiki.free.fr/wiki/wakka.php?wiki=PageAccueil
http://frederic.sigonneau.free.fr/
http://dj.joss.free.fr/
http://www.cathyastuce.com/excel.htm
http://jacxl.free.fr/cours_xl/cadres.html?ex http://www.dualforum.com/
http://www.excel-downloads.com/forum/forum-excel/
"Ceno" <cedric-box@ifrance.com> a écrit dans le message de news:
8065797a-09ad-47c7-a563-58325da3e973@25g2000hsx.googlegroups.com...
Merci à toi Excel...lent,
Seulement mon souci c'est que je veux masquer les colonnes dont le
total des lignes est à 0 pas seulement la première. C'est Possible ?
As tu une solution ?
J'en déduis donc que les valeurs de ton tableau ne sont que numériques. J'ai oublié de te préciser que ce code doit être mis dans le code VBA de ta feuille.
Essaies ceci :
Private Sub Worksheet_Activate() Dim TotCol ' masques les colonnes dont la somme de la ligne 15 à 80 est égale à rien For x = 2 To 21 TotCol = Application.WorksheetFunction.Sum(Range(Cells(15, x), Cells(80, x))) If TotCol = 0 Then Cells(15, x).Select Selection.EntireColumn.Hidden = True End If Next x ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True ' re affiche toutes les colonnes Cells.Select Selection.EntireColumn.Hidden = False Range("A1").Select End Sub
Cordialement.
Excel...lent
N'hésitez pas à visiter ces mines d'or ! ! ! http://www.excelabo.net/ http://xlwiki.free.fr/wiki/wakka.php?wiki=PageAccueil http://frederic.sigonneau.free.fr/ http://dj.joss.free.fr/ http://www.cathyastuce.com/excel.htm http://jacxl.free.fr/cours_xl/cadres.html?ex http://www.dualforum.com/ http://www.excel-downloads.com/forum/forum-excel/
"Ceno" a écrit dans le message de news:
Merci à toi Excel...lent,
Seulement mon souci c'est que je veux masquer les colonnes dont le total des lignes est à 0 pas seulement la première. C'est Possible ? As tu une solution ?