Masquer des lignes selon la donnée incluse dans la case D
cyrii
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
cyrii Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
cyrii Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
bonjour à tous,
je cherche à faire une macro qui masquerait les lignes d'un tableau selon une date indiquée dans une case, je m'explique;
dans mon tableau, il y a dans la colonne D les dates du 1/1/2014 au 31/12/2014 et des informations en face de ces dates dans les colonnes suivantes
je voudrais créer une case, mettons en D15 où je pourrais indiquer une date et que toutes les lignes ; du 1/1/2014 jusqu'à la date indiquée en D15 - 1 jour se masquent, soit si j'indique 1/5/2014, les lignes du 1/1/2014 au 30/4/2014 seraient alors masquées
précision; mes dates sont dans une case fusionnée comprenant 2 lignes
l2 1/1/2014 à pour nom de cellule D68 mais inclus aussi la ligne 69
merci d'avance pour votre aide précieuse
je cherche à faire une macro qui masquerait les lignes d'un tableau selon une date indiquée dans une case, je m'explique;
dans mon tableau, il y a dans la colonne D les dates du 1/1/2014 au 31/12/2014 et des informations en face de ces dates dans les colonnes suivantes
je voudrais créer une case, mettons en D15 où je pourrais indiquer une date et que toutes les lignes ; du 1/1/2014 jusqu'à la date indiquée en D15 - 1 jour se masquent, soit si j'indique 1/5/2014, les lignes du 1/1/2014 au 30/4/2014 seraient alors masquées
précision; mes dates sont dans une case fusionnée comprenant 2 lignes
l2 1/1/2014 à pour nom de cellule D68 mais inclus aussi la ligne 69
merci d'avance pour votre aide précieuse
A voir également:
- Masquer des lignes selon la donnée incluse dans la case D
- Aller à la ligne dans une case excel - Guide
- Comment masquer une photo dans la galerie - Guide
- Partager des photos en ligne - Guide
- Masquer conversation whatsapp - Guide
- Comment masquer les amis sur facebook - Guide
6 réponses
Bonjour,
Pour lancer la discusion voilà ce que je ferais..
j'associe à la case où se trouve ta date un événement worksheet_change en vba.
A cet événement, j'écris une macro qui répère la dernière ligne de ton tableau et qui ensuite boucle sur toutes les lignes (colonne des dates) et qui à chaque fois que la date est inférieure ou égale à ta cellule de référence masque la ligne entière avec une instruction du style activecell.entirerow.hidden = true. Il reste à voir quelle boucle est la meilleure et ce que cela donne avec les cellules fusionnées..
GB
Pour lancer la discusion voilà ce que je ferais..
j'associe à la case où se trouve ta date un événement worksheet_change en vba.
A cet événement, j'écris une macro qui répère la dernière ligne de ton tableau et qui ensuite boucle sur toutes les lignes (colonne des dates) et qui à chaque fois que la date est inférieure ou égale à ta cellule de référence masque la ligne entière avec une instruction du style activecell.entirerow.hidden = true. Il reste à voir quelle boucle est la meilleure et ce que cela donne avec les cellules fusionnées..
GB
bonjour GB,
je te remercie pour ta réponse mais je crois que mes connaissances ne me permettent pas de la comprendre pour la mettre en forme...
je te remercie pour ta réponse mais je crois que mes connaissances ne me permettent pas de la comprendre pour la mettre en forme...
Bonjour
une petite macro a adapter à tes bseoins :
dans l'exemple, les dates sont dans la colonne A des lignes 1 a 32 en ordre croissant.
la date est en A34, en dessous, pour eviter de la masquer.
Private Sub Worksheet_Change(ByVal Target As Range)
If ActiveCell.Address = "$A$34" Or ActiveCell.Address = "$A$35" Then
For i = 1 To Range("A40").End(xlUp).Row - 2
If Cells(i, 1) < Cells(34, 1) Then
Rows(i).Select
Selection.EntireRow.Hidden = True
Else
Rows(i).Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:=-21
End If
Next i
End If
End Sub
quand tu changes la date en A34, les autres disparaisent ou apparaissent
une petite macro a adapter à tes bseoins :
dans l'exemple, les dates sont dans la colonne A des lignes 1 a 32 en ordre croissant.
la date est en A34, en dessous, pour eviter de la masquer.
Private Sub Worksheet_Change(ByVal Target As Range)
If ActiveCell.Address = "$A$34" Or ActiveCell.Address = "$A$35" Then
For i = 1 To Range("A40").End(xlUp).Row - 2
If Cells(i, 1) < Cells(34, 1) Then
Rows(i).Select
Selection.EntireRow.Hidden = True
Else
Rows(i).Select
Selection.EntireRow.Hidden = False
ActiveWindow.SmallScroll Down:=-21
End If
Next i
End If
End Sub
quand tu changes la date en A34, les autres disparaisent ou apparaissent
bonjour et merci
j'ai créé un petit tableau avec ce que tu m'as indiqué mais je n'y arrive pas
je pense que j'insère mal la formule dans visual basic
comment pourrais mettre mon tableau en ligne pour voir ce qui ne va pas?
j'ai créé un petit tableau avec ce que tu m'as indiqué mais je n'y arrive pas
je pense que j'insère mal la formule dans visual basic
comment pourrais mettre mon tableau en ligne pour voir ce qui ne va pas?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
dlt-pan,
j'ai trouvé ce qui n'allait pas, c'est que évidemment ça ne marche que dans un sens, = si la date indiquée en A34 est plus lointaine que la première date encore affichée, il faut que je fasse une autre macro pour ré afficher les dates antérieures déjà masquées
j'ai trouvé ce qui n'allait pas, c'est que évidemment ça ne marche que dans un sens, = si la date indiquée en A34 est plus lointaine que la première date encore affichée, il faut que je fasse une autre macro pour ré afficher les dates antérieures déjà masquées
dlt-pan,
bon pas si simple, dans une feuille où j'ai mis juste tes données, ça va, mais dans mon tableau, je n'arrive pas à adapter la formule, ne comprenant pas la logique de celle-ci (je ne suis pas assez connaisseur en vba..)
moi, mes dates commencent à la ligne 66,
chaque date est répétée en colonne a 2 fois, soit sur 2 lignes pour passer à côté du problème des cases fusionnées, ayant besoin de 2 lignes par jour dans mon tableau,
la case où je voudrais indiquer la date avant laquelle les dates doivent se masquer est en I11,
si je mets une case à cocher, y a t il un moyen pour que si la case est cochée, les lignes se masque,t de la ligne 66 à la ligne de la date avant eclle indiquée en I11 et que si je décoche, toutes les dates réapparaissent?
merci d'avance
bon pas si simple, dans une feuille où j'ai mis juste tes données, ça va, mais dans mon tableau, je n'arrive pas à adapter la formule, ne comprenant pas la logique de celle-ci (je ne suis pas assez connaisseur en vba..)
moi, mes dates commencent à la ligne 66,
chaque date est répétée en colonne a 2 fois, soit sur 2 lignes pour passer à côté du problème des cases fusionnées, ayant besoin de 2 lignes par jour dans mon tableau,
la case où je voudrais indiquer la date avant laquelle les dates doivent se masquer est en I11,
si je mets une case à cocher, y a t il un moyen pour que si la case est cochée, les lignes se masque,t de la ligne 66 à la ligne de la date avant eclle indiquée en I11 et que si je décoche, toutes les dates réapparaissent?
merci d'avance