XL 2010 masquer des lignes suivant un critere

desdesch

XLDnaute Nouveau
Bonjours à vous...
J'ai besoin de votre aide votre aide
Bonjours à vous …
J’ai besoin de votre aide
Dans la cellule B15, vous trouverez un menu déroulant. En sélectionnant sur ce menu déroulant, je souhaiterais faire apparaitre que les lignes qui y font référence, c’est-à-dire les lignes 17 à 28 pour barreaudages et ainsi de suite pour les autres.
Savez-vous comment je dois faire ?
D’avance merci
 

Fichiers joints

Calvus

XLDnaute Accro
Bonjour,

J'ai voulu t'aider, mais comme je ne sais pas où il faut aller chercher les informations, ni lesquelles, je passe mon tour..
Ou alors renvoie un fichier avec un exemple concret. Ce sera plus clair.

A+
 

desdesch

XLDnaute Nouveau
Dans la cellule B15 j’ai fait un menu déroulant ou je peux choisir entre 4 choix. Suivant le choix je souhaiterais qu’apparaisse que les lignes correspondantes à ce choix. Ces lignes sont juste dessous séparées par deux bandes grises.
Regarde si tu peux autrement je te referai un nouveau fichier.
Encore merci
 

Calvus

XLDnaute Accro
Re,

Oui, ça j'ai bien vu !
Mais quelles dimensions poteaux prendre ? Quel diamètre ? 40x20 ? 40x10 ? 50x30 ??
Idem pour le reste..
 

desdesch

XLDnaute Nouveau
Ok je pensai pas à cette partie.
Les poteaux et autre sont liées à d’autres feuilles de calcul.
Je pense pas que tu en ai besoin pour masquer les lignes.
 

Calvus

XLDnaute Accro
Re,

Voici ton fichier en retour avec Macro.
Je n'avais pas compris.
Faut dire que ton explication était loin d'être claire....

A+

Edit : j'avais oublié de mettre le code ici...
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("B15"), Target) Is Nothing And Target.Count = 1 Then
If [B15] = "Barreaudage" Then Rows("29:56").EntireRow.Hidden = True
If [B15] = "Remplissage complet" Then Rows("17:42").EntireRow.Hidden = True: Rows("49:56").EntireRow.Hidden = True
If [B15] = "Remplissage soubassement" Then Rows("17:49").EntireRow.Hidden = True
If [B15] = "Remplissage lisse" Then Rows("17:29").EntireRow.Hidden = True: Rows("42:56").EntireRow.Hidden = True
End If

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Range("B15"), Target) Is Nothing And Target.Count = 1 Then Rows("17:56").EntireRow.Hidden = False
End Sub
 

Fichiers joints

Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @desdesch,

Code à mettre dans le module de la feuille "Renseignement". Si on efface le contenu de B15, alors on affiche tout.
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address(0, 0) = "B15" Then
    Application.ScreenUpdating = False
    If Target <> "" Then
      Range("a17:a9999").EntireRow.Hidden = True
      Columns(1).Find(Target.Value).CurrentRegion.EntireRow.Hidden = False
    Else
      Range("a17:a9999").EntireRow.Hidden = False
    End If
  End If
End Sub
 

Fichiers joints

Discussions similaires


Haut Bas