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
A voir également:

5 réponses

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
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
jjsteing Messages postés 1670 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
jjsteing Messages postés 1670 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

Vous n’avez pas trouvé la réponse que vous recherchez ?

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

Merci beaucoup à vous 2.

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