masquer ou afficher

R

Rico

Guest
Bonjour,
Peut on faire afficher ou masquer une ligne sous une condition ?
Merci de votre aide
 
V

Vériland

Guest
Bonsoir Rico et toi le Forum,

Ben alors personne n'est encore passé...bon ben j'm'y colle alors...lol

Voici une procédure...

Sub Cacher_Afficher()
If [A1].Value = 1 Then
With Feuil1
.Rows(2).Hidden = True
.Rows(3).Hidden = True
End With
Else
With Feuil1
.Rows(2).Hidden = False
.Rows(3).Hidden = False
End With
End If
End Sub


Son principe...si la valeur de la cellule A1 sur Feuil1 est égale à 1 alors on masque les lignes 2 et 3 (True) sinon on les affiches (False)...

A+Veriland.gif


PS : Macro à copier depuis le forum auquel cas tu risques d'avoir les attributs gras du post dedans...
 
O

Oli

Guest
Sub Cacher_Afficher()
If [A1].Value = 1 Then
With Feuil1
.Rows(2).Hidden = True
.Rows(3).Hidden = True
End With
End Sub

si tu écrit le code comme ça il est plus léger et il fonctionne la même chose !!! bonne jounrée
 
V

Vériland

Guest
........Ouais bon........
smiley_294.gif

je veux bien admettre qu'il est possible de réduire une procédure mais y'a quand même des limites...

Oli, si j'ai proposé les deux conditions dans ma macro, c'était bien pour répondre au plus près à la demande initiale de Rico qui voulait masquer/afficher des lignes selon une condition :

Donc j'ai paramétré la procédure qui permet de masquer les lignes 2 et 3 (si la cellule A1 contient la valeur 1)...et d'autre part d'afficher ces lignes si la cellule A1 contient une autre valeur...

or avec ta procédure il n'est plus possible d'afficher les lignes une fois masquées...ce qui à mon sens ne répond plus à la question de départ...de plus ta macro aura du mal à fonctionner sans End If...

donc...
smiley_724.gif


à ta réponse...

A+Veriland.gif
 
V

Vériland

Guest
tiens tant que j'y suis...la même chose (mais en boucle)...

Sub Cacher_Afficher()
'% correspond à Integer
Dim i%
'on gèle l'écran
Application.ScreenUpdating = False
'on commence à la ligne 2 pour finir à 10
For i = 2 To 10
If [A1].Value = 1 Then Rows(i).Hidden = True Else: Rows(i).Hidden = False
Next i
'mise à jour écran
Application.ScreenUpdating = True
End Sub


peut être interressant sur plusieurs lignes...

A+Veriland.gif
 
V

Vériland

Guest
Hi hi hi...Ah ben oui Ti...

D'ailleurs j'ai oublié de mettre dans mon dernier post l'astérisque stipulant que ta solution amaigrissante n'apparaissait pas encore dans ce fil...loool

Alors pour rigoler voici ce que j'ai trouvé sur la base de ta procédure...

Sub Cacher_Afficher()
Feuil1.Rows("2:3").Hidden = [A1] = 1
End Sub


qui dit mieux...ouarf!

A+Veriland.gif
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz