masquer ou afficher des lignes en fonction du choix d'une liste déroulante

maxime_22

XLDnaute Nouveau
bonjours a tous,

Je viens de créer une macro mais je rencontre quelques difficultés ...

En effet mon fichier sert déterminer les éléments nécessaire pour ensuite rédiger un devis.
J'ai donc une liste déroulante qui me permet d'afficher ou masquer des paramètres en fonction du choix de la liste.

mon code VBA est le suivant :

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$C$7" Then
Rows("8:10").Hidden = IIf(Target = "Horizontal", False, True)
Rows("11:14").Hidden = IIf(Target = "vertical", False, True)
Rows("8:14").Hidden = IIf(Target = "cliquez ici", True, False)
End If
End Sub


Le problème est le suivant :
quand les commerciaux arrivent sur la page il y a par défaut dans la liste (adressage C7) "cliquez ici"
- il n'y a aucune des lignes (8:14) d'affichées.
Mais ensuite que je choisisse "horizontal" ou "vertical" l'ensemble des lignes (8:14) s'affichent.

Or je voudrais que pour "horizontal" seul les lignes (8:10) s'affichent
et pour "vertical" les lignes (11:14) s'affichent .

Merci d'avance

Ps : Je ne peut joindre le fichier compte tenu du nombre important de données confidentielles.
 

Efgé

XLDnaute Barbatruc
Re : masquer ou afficher des lignes en fonction du choix d'une liste déroulante

Bonjour maxime_22
Je ne peut joindre le fichier compte tenu du nombre important de données confidentielles.
Certe, mais tu aurais pu faire ceci. Cordialement
 

Pièces jointes

  • maxime_22.xls
    18 KB · Affichages: 112
  • maxime_22.xls
    18 KB · Affichages: 138
  • maxime_22.xls
    18 KB · Affichages: 144

maxime_22

XLDnaute Nouveau
Re : masquer ou afficher des lignes en fonction du choix d'une liste déroulante

Merci Efgé

La macro marche partiellement.
elle marche pour "vertical", mais pour "horizontal" les lignes s'affichent bien mais ne masque pas les lignes ditent "vertical"
 

maxime_22

XLDnaute Nouveau
Re : masquer ou afficher des lignes en fonction du choix d'une liste déroulante

Bon nouveau problème avec cette meme macro.

Quand je modifie la ligne 11(liste déroulante), les lignes (8:10) apparaissent...

Quelle est la solution ??

Merci d'avance
 

maxime_22

XLDnaute Nouveau
Re : masquer ou afficher des lignes en fonction du choix d'une liste déroulante

ci joint le fichier avec l'erreur.

Quand je sélectionne "vertical", les ligne de 8 à 10 se masque, la ligne 11 comporte une liste à choix déroulante.
Quand je modifie celle ci, elle ré affiche les lignes précédemment masquer

ci-joint le fichier avec le problème :
 

Pièces jointes

  • maxime_22.xls
    28 KB · Affichages: 104
  • maxime_22.xls
    28 KB · Affichages: 114
  • maxime_22.xls
    28 KB · Affichages: 115

Efgé

XLDnaute Barbatruc
Re : masquer ou afficher des lignes en fonction du choix d'une liste déroulante

Re
Allez... .... Partons du principe que dans ton dernier post ce que tu nommes "vertical" est "forage" et "horizontal" est "capteurs sol"
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$7" Then
    Rows("8:14").Hidden = False
    Rows("8:10").Hidden = Target.Value = "forage"
    Rows("11:14").Hidden = Target.Value = "capteurs sol"
End If
End Sub
Mais ... ...bon... ... ma boule de cristal a ses limites....
Cordialement
 

Discussions similaires

Réponses
12
Affichages
545

Membres actuellement en ligne

Statistiques des forums

Discussions
312 084
Messages
2 085 192
Membres
102 809
dernier inscrit
Sandrine83