Les Allergies
Alimentaires
Posez votre question Signaler

Masquer une ligne sous condition [Résolu]

chrichnou051 149Messages postés 27 janvier 2007Date d'inscription 30 décembre 2010Dernière intervention - Dernière réponse le 9 oct. 2008 à 14:29
Bonjour,
J'ai lu plusieurs post à ce niveau mais je n'ai jamais vraiment trouver de solution.
En fait je souhaiterais, si possible pouvoir masquer une ligne si la cellule de la colonne B de la même ligne est vide. Les lignes 10 à 30 et 32 à 57 doivent être testée de cette manière.
Si possible sans macro vu que je n'y connais rien.
Merci d'avance.
PS: Si une macro est nécessaire je veux bien la placer mais à vous de m'aider à la placer correctement.
Lire la suite 

Masquer une ligne sous condition »

9 réponses
Réponse
+1
moins plus
Bonsoir,

Faisable uniquement par macro.

Je suppose que c'est par fonction que tes cellules Bx se remplissent ou se vident, et que ce n'est pas par une saisie sur la même ligne qu'elles doivent réapparaitre (sinon tu auras du mal...).

Si c'est le cas tu fais un clic-droit sur le nom de l'onglet concerné, tu choisis 'visualiser le code'
et tu colles le code suivant dans la fenetre de droite.
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim plage As Range, c As Range
    Set plage = Union([B10:B30], [B32:B57])
    For Each c In plage
        If c.Value = "" Then
            c.EntireRow.Hidden = True
        Else
            c.EntireRow.Hidden = False
        End If
    Next c
    plage = Nothing
End Sub

A chaque saisie dans la feuille les cellules seront explorées et les lignes affichées/masquées

eric
Ajouter un commentaire
Réponse
+1
moins plus
En effet les cellules de la colonne B se remplissent selon un calcul.

Je vais essayer cette macro tout de suite.
Ajouter un commentaire
Réponse
+0
moins plus
Je viens d'essayer cette macro et rien en se passe.

Je l'ai peut être mal fait je ne sais pas trop.

Je l'ai placé comme tu me l'as dit mais après que dois je faire?
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

Le truc c'est que cette feuille reprend des valeurs de plusieurs feuilles et qu'il n'y a donc rien à encoder,

N'y a t il pas une macro qui le ferait sans aucune saisie?

Merci
Ajouter un commentaire
Réponse
+0
moins plus
Si, la nommer autrement et appeler la liste des macros par Alt+F8 pour la lancer au coup par coup
(ou lui donner un raccourci clavier, ou dessiner un bouton sur la feuille).
Ajouter un commentaire
Réponse
+0
moins plus
Qu'entends tu pas "la nommer autrement", je ne vois déjà pas son nom...
Désolé mais je n'y connais rien en macros.
Ajouter un commentaire
Réponse
-1
moins plus
il faut faire une saisie dans la feuille pour qu'elle se déclenche
Ajouter un commentaire
Réponse
-1
moins plus
Ca y est j'ai réussi en plaçant un bouton...
Merci beaucoup
Ajouter un commentaire
Réponse
-1
moins plus
Son nom est défini lors du Sub, remplacer
Private Sub Worksheet_Change(ByVal Target As Range)
par
Sub MasquerLignes
et elle apparaitra dans la liste des macros

Mais pas sûr que tu gagnes ton temps, si tu es seul à l'utiliser tu fais suppr dans une cellule vide et c'est bon, pour excel c'est une modif et la macro se lance.
Ajouter un commentaire
Ce document intitulé « Masquer une ligne sous condition » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?