Cacher des ligne sous condition

Bonjour,

Je souhaiterais cacher des lignes en fonction d'une valeur située dans une cellule et les afficher sinon.

Sub banderole()

    Application.ScreenUpdating = 0

   If Range("B16").Value = "banderole" Then

        Rows("32:36").EntireRow.Hidden = False

    Else

        Rows("33:35").EntireRow.Hidden = True

    End If

    Application.ScreenUpdating = -1

End Sub

J'ai bien essayé ce code mais il ne fonctionne pas.

En vous remerciant d'avance !

Salut,

Ton code fonctionne parfaitement

Si le mot banderole est inscrit en B16 tu désires que les lignes 32 à 36 soient rouvertes si elles sont masquées et elles le sont bien.

Si le mot banderole n’est pas inscrit en B16, tu désires que les lignes 33 à 35 soient masquées et elles le sont réellement.

Mais sans savoir exactement où tu veux en venir, il est difficile de t’aider plus.

Cordialement.

En effet, il faut que les lignes disparaissent ou réapparaissent. Si la valeur de la cellule vaut "banderole" alors les lignes apparaissent et pour toutes autre valeurs elles disparaissent sachant que cela peut ce reproduire plusieurs fois.

Dans ce cas la, elles ne réapparaissent pas car l'action n'est fait qu'une seule fois. Elle ne ce répète pas.

Re,

Tu peux – lorsqu’une des conditions de ton instruction If / End If est remplie – à la fois masquer certaines lignes et en ouvrir d’autre.

Dans le code ci-dessous tu vois que deux groupes de lignes sont ouverts ou fermés en alternances selon que telle ou telle condition est remplie.

Sub banderole()

If Range("B16").Value = "banderole" Then
    Rows("30:39").EntireRow.Hidden = False
    Rows("40:49").EntireRow.Hidden = True
Else
    Rows("30:39").EntireRow.Hidden = True
    Rows("40:49").EntireRow.Hidden = False
End If

End Sub

Maintenant, ne comprenant toujours pas où tu veux en venir avec tes deux groupes de lignes - dont les valeurs ne se recoupent pas - que tu ouvres dans un cas et que tu masques dans l’autre, je ne peux toujours pas t’aider à pondre un code définitif.

Amicalement.

Re,

En fait il ne s'agit simplement que de "mise en page". je conçoit un devis qui ce remplie automatiquement en fonction de "supports" comme du papier, du pvc ... et en l'occurrence des banderoles. Seulement lorsque l'opérateur sélectionne une banderole, le mise en page change légèrement (2 lignes de plus) qui comporte des accessoires en plus ("attaches" par exemple). mais si il veut alors changer de support, ces lignes doivent disparaîtres.

Est ce plus clair ?

Re-bonjour,

Dans ton texte tu dis que tu veux deux lignes de moins s’il ne s’agit pas d’un support ‘banderole’ mais dans ta macro – lorsque c’est un support autre que ‘banderole’, tu masques 3 lignes : la 33, la 34 et la 35. Si tu ne veux masquer que deux lignes tu dois donc modifier cette partie du code en conséquence.

Dans ton code - au cas où il s’agit d’un support ‘banderole’ - tu rouvres des lignes qui n’ont pas été masquées au préalable, les lignes 32 et 36. Pourquoi ??

En fait il serait logique de ne rouvrir que les 2 seules lignes nécessaires masquées.

Avec le code ci-dessous, placé dans le fichier ci-joint, 2 lignes sont masquées s’il s’agit d’un cas autre que ‘banderole’ et vice-versa.

Sub banderole()

If Range("B16").Value = "banderole" Then
    Rows("34:35").EntireRow.Hidden = False
Else
    Rows("34:35").EntireRow.Hidden = True
End If

End Sub

Si le code proposé ci-dessus ne te convient pas, explique moi pourquoi il ne te convient pas.

Si l’instruction ‘Application.ScreenUpdating = 0’ semble peu utile pour un code si court, l’instruction Application.ScreenUpdating = -1 semble utile seulement dans un nombre infinitésimal de cas (dont aucun qui me soit personnellement connu pour l'instant ).

Amicalement.

31mutex.zip (8.99 Ko)

Bonjour,

dont aucun qui me soit personnellement connu pour l'instant

Je ne vois que le cas où l'on doit récupérer en cours de route un résultat intermédiaire sur une feuille.

Ca fait au moins 1

eric

Salut Eriiic,

Je voulais dire que je n’ai encore jamais eu des cas qui me sont déjà arrivés réellement et pour lesquels j’aurais eu besoin cette instruction. Maintenant je pense bien que si Microsoft a créé cette instruction, c’est qu’elle doit être parfois utile. Mais selon moi dans un nombre infinitésimal de cas

Amicalement.

Re,

Désolé pour ma réponse tardive. La solution que tu me propose fonctionne et je t'en remercie !

A bientôt !

Rechercher des sujets similaires à "cacher ligne condition"