VBA maxi débutant

Résolu/Fermé
FIFU - 28 juil. 2009 à 13:33
 FIFU - 28 juil. 2009 à 14:10
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

5 réponses

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
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 1669 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
28 juil. 2009 à 14:02
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 1669 Date d'inscription vendredi 11 mai 2007 Statut Contributeur Dernière intervention 21 mai 2012 181
28 juil. 2009 à 14:04
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
Magique ça fonctionne....

Merci beaucoup à vous 2.

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