VBA maxi débutant

Résolu
FIFU -  
 FIFU -
Bonjour à tous,

Je précise d'entrée que je suis un gros noob de VBA, ça c'est fait... donc expliquez moi pas à pas SVP.
Après avoir passé plusieurs heures à chercher le moyen d'arriver à mes fins, force est de constater que je ne suis pas plus avancé q'au début de mes recherches.

Je souhaite créer une macro qui me permette si une cellule est vide de cacher 2 colonnes d'un tableau
Ex : si D5 est vide alors cacher E5:E37 et D5:D37 sachant que D5 corrspond à une formule Index equiv "=+SI(ESTERREUR(INDEX($E$48:$E$82;EQUIV($D$4;$F$48:$F$82;0);0));"";INDEX($E$48:$E$82;EQUIV($D$4;$F$48:$F$82;0);0))" (je ne sais pas si ça peut poser pb)

Je souhaite également pouvoir recopier cette formule pour l'appliquer à d'autres colonnes.

Je précise que j'ai crée un menu déroulant en A3 qui me permet de calculer les données du tableau suivant cette variable et donc je cherche simplement à cacher les colonnes qui seront vides suivant la variable A3.

Merci de votre aide,

FIFU
Configuration: Windows XP Internet Explorer 6.0

5 réponses

  1. melanie1324
     
    Bonjour,

    voici ce que tu demandes :

    'Si D5 est vide
    if d5 = "" then
    'cacher tes colonnes D et E
    range(columns(4),columns(5)).select
    Selection.EntireColumn.Hidden = True
    else

    'si d5 n'est pas vide
    range(columns(4),columns(5)).select
    Selection.EntireColumn.Hidden = True

    end if

    un conseil : copie ce code et appuie sur F8, ca te permettra de comprendre et au lieu de mettre d5, tu peux faire ca
    'i ligne
    ' j ligne
    i=5
    j=4
    cells(i,j).select
    0
  2. FIFU
     
    OK mais il semble qu'il y ait un pb car quand je tate du F8 pour vérifier, que D5 soit vide ou contienne une valeur, cela me cache les 2 colonnes quand même...
    0
  3. jjsteing Messages postés 1613 Date d'inscription   Statut Contributeur Dernière intervention   181
     
    bonjour, je me permet de mettre mon grain de sel.. ;)

    if d5 = "" then => if range("D5) ="" then... ou if cells(5,4)="" then.... serait mieux ;)
    0
  4. jjsteing Messages postés 1613 Date d'inscription   Statut Contributeur Dernière intervention   181
     
    De plus..

    'si d5 n'est pas vide
    range(columns(4),columns(5)).select
    Selection.EntireColumn.Hidden = false ' pour les faire réapparaitre ;)
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. FIFU
     
    Magique ça fonctionne....

    Merci beaucoup à vous 2.

    Pk j'ai pas posté tt de suite ...
    0