Macro pour masquer colonnes sans valeur

Résolu
Fusiored Messages postés 143 Date d'inscription   Statut Membre Dernière intervention   -  
Fusiored Messages postés 143 Date d'inscription   Statut Membre Dernière intervention   -
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 :'(

2 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
    1. Fusiored Messages postés 143 Date d'inscription   Statut Membre Dernière intervention   45
       
      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
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    à 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
    1. Fusiored Messages postés 143 Date d'inscription   Statut Membre Dernière intervention   45
       
      Merci beaucoup je vais tester ça ! :)
      0
    2. Fusiored Messages postés 143 Date d'inscription   Statut Membre Dernière intervention   45
       
      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
    3. Fusiored Messages postés 143 Date d'inscription   Statut Membre Dernière intervention   45
       
      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
    4. Fusiored Messages postés 143 Date d'inscription   Statut Membre Dernière intervention   45
       
      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
    5. Fusiored Messages postés 143 Date d'inscription   Statut Membre Dernière intervention   45
       
      J'ai trouvé la solution :)
      0