Cacher des lignes sous conditions

Bonjour,

J'aurais besoin de vos lumières.

Je dois cacher des lignes sous certaines conditions mais je n'arrive pas a faire de code, j'y connais rien a vrai dire.

Alors

si K17 = a rien alors les lignes 23 à 126 seront cachées

si K17 = 1 alors les lignes 65 à 126 seront cachées

si K17 = 2 alors les lignes 86 à 126 seront cachées

si K17 = 3 alors les lignes 107 à 126 seront cachées

J'aimerais aussi que le code se fasse automatiquement dès que le numéro dans la case K17 est saisie.

Je ne sais même pas où je dois mettre ce fameux code, que je n'arrive pas a faire.

Merci d'avance

Bonjour,

Voici une proposition

28celine.zip (9.04 Ko)

Tu peux voir le code en faisant clic droit sur l'onglet "Feuil1", puis visualiser le code.

A+

Merci beaucoup ça marche, t'es le meilleur

Une autre question, qui est pour le même sujet

Si j'ai ma cellule B19 qui n'est pas rempli je veux que ça cache la ligne

Idem pour C19; D19 etc...

Comment je fais ?

Là, j'ai beaucoup plus de mal à comprendre, surtout avec le etc.

En résumé, si une cellule de la ligne 19 n'est pas remplie, la ligne est masquée.

Bizarre ! Tu comptes remplir les 256 colonnes ?

De plus, si une cellule de la ligne 19 n’est pas remplie, la ligne est masquée, donc tu ne pourra plus la remplir ... donc elle restera masquée.

Il doit manquer un ou deux détails dans ton explication

A+

Bonjour,

Je te mets le fichier en pièce jointe pour que tu visualise mieux.

Ça concerne la feuille Bon de fabrication ELDECOR.

En faite j'aimerais que quand dans la cellule B19 y a rien elle se masque

Quand dans la cellule C20 y a rien elle se masque

Jusqu'a B46

Mais que ça se fasse automatiquement a chaque fois que je clique sur l'onglet de la feuille car ce n'est pas la feuille où je saisie mes données.

Merci d'avance pour votre aide

Bonjour,

Essaie comme cela

Private Sub Worksheet_Activate()
Dim L As Integer
    Application.ScreenUpdating = False
    For L = 19 To 46
        If Range("B" & L).Value = 0 Then
            Rows(L).Hidden = True
        Else
            Rows(L).Hidden = False
        End If
    Next L
End Sub

A+

Merci pour ton aide mais j'ai trouvée toute seule

Voila mon code

Private Sub Worksheet_Activate()
    Dim x As Byte
    For x = 43 To 162
        If Cells(x, 2) = "" Or Cells(x, 2) = 0 Then
            Rows(x).EntireRow.Hidden = True     'masque
        Else
            Rows(x).EntireRow.Hidden = False    'affiche
        End If
    Next x
End Sub

Mais maintenant j'aurais besoin d'un autre code que je n'arrive pas a faire

Quand G6 est vide ou =0, les lignes de 8 à 14 sont cachées

Quand G17 est vide ou =0, les lignes de 16 à 22 sont cachées

Quand G25 est vide ou =0, les lignes de 24 à 30 sont cachées

Quand G33 est vide ou =0, les lignes 32 à 38 sont cachées.

Merci beaucoup pour votre aide

Bonjour Celine31,

Merci pour ton aide mais j'ai trouvée toute seule

Je suis certain que l'observation ferait plaisir à celui qui t'a aidé sur l'autre forum

Par respect pour cet intervenant, je vais attendre qu'il te réponde.

A+

Rechercher des sujets similaires à "cacher lignes conditions"