Macro pour masquer colonnes sans valeur

Résolu/Fermé
Fusiored Messages postés 145 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 13 février 2020 - 8 mars 2017 à 17:56
Fusiored Messages postés 145 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 13 février 2020 - 9 mars 2017 à 14:40
Bonjour,

Je voudrais créer une macro pour masquer les colonnes de (B à AI) qui ne contiennent pas de valeur. Certaines cellules des colonnes en question sont parfois remplies de textes ou de "#VALEUR!". (la plage concernée est B2:AI66)

Pour faire plus simple, je voudrais pourvoir afficher seulement les colonnes contenant des valeurs <>0. Le reste on masque. Je vais associer ça à un bouton.

Est ce que quelqu'un aurait la gentillesse de m'aider ?
J'ai essayé de faire ça moi même mais j'ai beau essayer je ne comprends vraiment rien au VBA :'(
A voir également:

2 réponses

ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
8 mars 2017 à 18:08
Bonjour

Je voudrais créer une macro pour masquer les colonnes de (B à AI) qui ne contiennent pas de valeur.
Peux tu préciser
Option 1. Aucune valeur dans toute la colonne
Option 2. Pas de valeur dans une ou plusieurs lignes de cette colonne

Cdlmnt
0
Fusiored Messages postés 145 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 13 février 2020 45
8 mars 2017 à 18:12
Bonjour,
Merci de ton intérêt pour ma question :)
En fait c'est l'option 1. Aucune valeur dans toute la colonne.
Est ce que c'est possible de faire ça ?
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
Modifié par ccm81 le 8/03/2017 à 18:22
à toi d'adapter les colonnes de début et de fin
si les colonnes ont une entête non vide tu remplaces = 0 par = 1

Const codeb = 3   ' colonne début > C
Const cofin = 9   ' colonne fin > I

Public Sub Masquer()
Dim co As Long
For co = codeb To cofin
  If Application.WorksheetFunction.CountA(Columns(co)) = 0 Then Columns(co).Hidden = True
Next co
End Sub

Cdlmnt
0
Fusiored Messages postés 145 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 13 février 2020 45
8 mars 2017 à 18:32
Merci beaucoup je vais tester ça ! :)
0
Fusiored Messages postés 145 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 13 février 2020 45
8 mars 2017 à 18:34
Bon ça ne fonctionne pas... sans doute parce que dans les dites colonnes il y a du texte ou de #valeur.
Une idée ?
0
Fusiored Messages postés 145 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 13 février 2020 45
Modifié par Fusiored le 8/03/2017 à 18:38
Juste je reprécise : "Certaines cellules des colonnes en question sont parfois remplies de textes ou de "#VALEUR!"
donc forcément si tu met =0 sans faire abstraction du texte ça ne fonctionne pas ^^ enfin de suppose !
0
Fusiored Messages postés 145 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 13 février 2020 45
8 mars 2017 à 18:41
Il faudra peut-être insérer une fonction de type "TEXTE=0" et "#VALEUR=0" ou SIERREUR=0 un truc du genre tu vois ce que je veux dire ?
0
Fusiored Messages postés 145 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 13 février 2020 45
9 mars 2017 à 14:40
J'ai trouvé la solution :)
0