Faire disparaitre des tableaux selon la valeur d'une cellule

Fermé
MarmottePH Messages postés 1 Date d'inscription dimanche 30 mars 2014 Statut Membre Dernière intervention 30 mars 2014 - 30 mars 2014 à 23:21
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 31 mars 2014 à 06:02
Bonjour,


Je me présente rapidement : je suis étudiant en Master 2 dans le bâtiment par alternance.
Dans le cadre d'un projet commun pour la fac et l'entreprise j'ai besoin de créer une fiche patrimoine sous excel.


Je ne sais pas si c'est possible mais voila ce que je souhaiterai faire :
Je vais créer plusieurs tableau (un par page quand j'imprime), dans le premier tableau (qui sera toujours fixe) il y a 2 cases ou je met une référence du bâtiment
J'aimerai que selon ces 2 références les tableaux suivant apparaissent ou disparaissent selon ce que j'ai besoin.


Pour donner un exemple :
Si dans la 2eme cases j'écris : "FOYE"
Je veux qu'a l'impression du fichier les tableaux 1 - 2 - 5 - 8 soit imprimés.
Si j'écris "GEND" se seront les tableaux 1 - 2 - 4 - 6 - 8 par exemple


J'ignore si cela est faisable et si oui comment ?


J'espère avoir été clair dans mon projet, dans le cas contraire n'hésitez pas à me poser toutes les questions nécessaires.


Merci d'avance.

Cordialement.

1 réponse

eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 216
31 mars 2014 à 06:02
Bonjour,

un exemple à adapter à ton classeur :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim sh As Worksheet
If Target.Row = 1 Or Target.Column > 1 Then Exit Sub
Cancel = True
' afficher/masquer
For Each sh In Worksheets
If InStr("," & Target.Offset(, 1) & ",", "," & sh.Name & ",") > 0 Then
sh.Visible = xlSheetVisible
ElseIf sh.Name <> "Feuil1" Then
sh.Visible = xlSheetHidden
End If
Next sh
' imprimer
If MsgBox("Imprimer les feuilles ?", vbQuestion + vbYesNo) = vbYes Then
Sheets(Split(Target.Offset(, 1), ",")).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1
Worksheets("Feuil1").Select
End If
End Sub
https://www.cjoint.com/?DCFf7CDWdq2

eric
0