Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Masquer sous condition

18 réponses
Avatar
rthompson
Bonjour à toutes et tous

En B1 j'ai une date (21/2/2009)
En C1 j'ai une date postérieure à celle de B1 (15/3/2009)

De ma ligne 5 jusqu'à xxxxxxx dans la colonne A j'ai des dates

Je voudrais afficher uniquement les lignes dont la date est entre celle de
C1 et B1


Donc j'utilise ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Rows(i).Hidden = (Cells(i, "A") < [B1])
Next i
End Sub

Il me cache celles qui sont antérieures à B1
Mais pas celles qui sont postérieures à C1

MAIS
Si j'utilise uniquement ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Next i
End Sub

Alors il me cache celles qui sont postérieures à C1

Et je n'y comprends rien

D'avance un grand merci

A bientôt


Rex

10 réponses

1 2
Avatar
isabelle
bonjour Rex,

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
If Cells(i, "A") > [C1] Or Cells(i, "A") < [B1] Then Rows(i).Hidden
= True
Next i
End Sub

isabelle

rthompson a écrit :
Bonjour à toutes et tous

En B1 j'ai une date (21/2/2009)
En C1 j'ai une date postérieure à celle de B1 (15/3/2009)

De ma ligne 5 jusqu'à xxxxxxx dans la colonne A j'ai des dates

Je voudrais afficher uniquement les lignes dont la date est entre celle de
C1 et B1


Donc j'utilise ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Rows(i).Hidden = (Cells(i, "A") < [B1])
Next i
End Sub

Il me cache celles qui sont antérieures à B1
Mais pas celles qui sont postérieures à C1

MAIS
Si j'utilise uniquement ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Next i
End Sub

Alors il me cache celles qui sont postérieures à C1

Et je n'y comprends rien

D'avance un grand merci

A bientôt


Rex






Avatar
Corto
Bonjour rthompson,
Rows(i).Hidden = (Cells(i, "A") > [C1])



cache les cellules > à C1 et affiche les autres qu'elles soient > ou < à B1
Rows(i).Hidden = (Cells(i, "A") < [B1])



Cache les cellules < B1 et affiche les autres qu'elles soient > ou < à C1
en clair la seconde ligne défait ce que la premiere à fait.

La solution est d'utiliser un OU logique
Sub Periode_Visible2()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = Cells(i, 1) > [C1] Or Cells(i, 1) < [B1]
Next i
End Sub

Corto

rthompson a écrit :
Bonjour à toutes et tous

En B1 j'ai une date (21/2/2009)
En C1 j'ai une date postérieure à celle de B1 (15/3/2009)

De ma ligne 5 jusqu'à xxxxxxx dans la colonne A j'ai des dates

Je voudrais afficher uniquement les lignes dont la date est entre celle de
C1 et B1


Donc j'utilise ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Rows(i).Hidden = (Cells(i, "A") < [B1])
Next i
End Sub

Il me cache celles qui sont antérieures à B1
Mais pas celles qui sont postérieures à C1

MAIS
Si j'utilise uniquement ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Next i
End Sub

Alors il me cache celles qui sont postérieures à C1

Et je n'y comprends rien

D'avance un grand merci

A bientôt


Rex






Avatar
Jacky
Bonjour,

Je voudrais afficher uniquement les lignes dont la date est entre celle de
C1 et B1


'-------------
Sub jj()
Application.ScreenUpdating = False
Range("a5:a" & Cells(Rows.Count, "a").End(3).Row).EntireRow.Hidden = False
For Each c In Range("a5:a" & Cells(Rows.Count, "a").End(3).Row)
If c < [b1] Or c > [c1] Then c.EntireRow.Hidden = True
Next
End Sub
'-----------------

--
Salutations
JJ


"rthompson" a écrit dans le message de
news:
Bonjour à toutes et tous

En B1 j'ai une date (21/2/2009)
En C1 j'ai une date postérieure à celle de B1 (15/3/2009)

De ma ligne 5 jusqu'à xxxxxxx dans la colonne A j'ai des dates

Je voudrais afficher uniquement les lignes dont la date est entre celle de
C1 et B1


Donc j'utilise ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Rows(i).Hidden = (Cells(i, "A") < [B1])
Next i
End Sub

Il me cache celles qui sont antérieures à B1
Mais pas celles qui sont postérieures à C1

MAIS
Si j'utilise uniquement ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Next i
End Sub

Alors il me cache celles qui sont postérieures à C1

Et je n'y comprends rien

D'avance un grand merci

A bientôt


Rex





Avatar
rthompson
Bonjour

Je te réponds en premier parceque ta solution
quoique qu'ecellente au demeurant
ne me convient pas dans ce cas-ci

MAIS

Un grand merci à toi et merci pour l'offre
et pour tes contributions régulières

A bientôt

Rex


"MichDenis" a écrit dans le message de news:

Bonjour RThompson,

As-tu essayé le filtre automatique / Personnalisé ?



"rthompson" a écrit dans le message de
groupe de discussion :
Bonjour à toutes et tous

En B1 j'ai une date (21/2/2009)
En C1 j'ai une date postérieure à celle de B1 (15/3/2009)

De ma ligne 5 jusqu'à xxxxxxx dans la colonne A j'ai des dates

Je voudrais afficher uniquement les lignes dont la date est entre celle de
C1 et B1


Donc j'utilise ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Rows(i).Hidden = (Cells(i, "A") < [B1])
Next i
End Sub

Il me cache celles qui sont antérieures à B1
Mais pas celles qui sont postérieures à C1

MAIS
Si j'utilise uniquement ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Next i
End Sub

Alors il me cache celles qui sont postérieures à C1

Et je n'y comprends rien

D'avance un grand merci

A bientôt


Rex


Avatar
rthompson
Bonjour

ET MERCI

Cette solution me donne entière satisfaction

Merci à toi et à très bientôt

Rex



"Corto" a écrit dans le message de news:
%
Bonjour rthompson,
Rows(i).Hidden = (Cells(i, "A") > [C1])



cache les cellules > à C1 et affiche les autres qu'elles soient > ou < à B1
Rows(i).Hidden = (Cells(i, "A") < [B1])



Cache les cellules < B1 et affiche les autres qu'elles soient > ou < à C1
en clair la seconde ligne défait ce que la premiere à fait.

La solution est d'utiliser un OU logique
Sub Periode_Visible2()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = Cells(i, 1) > [C1] Or Cells(i, 1) < [B1]
Next i
End Sub

Corto

rthompson a écrit :
Bonjour à toutes et tous

En B1 j'ai une date (21/2/2009)
En C1 j'ai une date postérieure à celle de B1 (15/3/2009)

De ma ligne 5 jusqu'à xxxxxxx dans la colonne A j'ai des dates

Je voudrais afficher uniquement les lignes dont la date est entre celle de
C1 et B1


Donc j'utilise ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Rows(i).Hidden = (Cells(i, "A") < [B1])
Next i
End Sub

Il me cache celles qui sont antérieures à B1
Mais pas celles qui sont postérieures à C1

MAIS
Si j'utilise uniquement ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Next i
End Sub

Alors il me cache celles qui sont postérieures à C1

Et je n'y comprends rien

D'avance un grand merci

A bientôt


Rex






Avatar
rthompson
Bonjour

C'est bizarre

Quand je lance ta macro elle cache toutes les lignes de 5 à 50

Je suis curieux par nature
donc aussitôt que j'ai le temps je vais voire ce qui s'y passe

Mais en attendant et comme je suis pressé

Je prends la solution de Corto qui fonctionne nickel

A bientôt et MERCI

PS
Comment fait-il en ce printemp là-bas dans le grand nord
Si je ne me trompe tu es de l'autre côté de la grande eau, non?


Rex



"isabelle" a écrit dans le message de news:

bonjour Rex,

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
If Cells(i, "A") > [C1] Or Cells(i, "A") < [B1] Then Rows(i).Hidden =
True
Next i
End Sub

isabelle

rthompson a écrit :
Bonjour à toutes et tous

En B1 j'ai une date (21/2/2009)
En C1 j'ai une date postérieure à celle de B1 (15/3/2009)

De ma ligne 5 jusqu'à xxxxxxx dans la colonne A j'ai des dates

Je voudrais afficher uniquement les lignes dont la date est entre celle
de C1 et B1


Donc j'utilise ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Rows(i).Hidden = (Cells(i, "A") < [B1])
Next i
End Sub

Il me cache celles qui sont antérieures à B1
Mais pas celles qui sont postérieures à C1

MAIS
Si j'utilise uniquement ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Next i
End Sub

Alors il me cache celles qui sont postérieures à C1

Et je n'y comprends rien

D'avance un grand merci

A bientôt


Rex








Avatar
rthompson
Bonjour
Ta solution me donne le même problème que celle d'Isabelle

Elle cache toutes lignes

La solution de Corto fonctionne pour ce que je cherche à faire donc je
prends celle-là

MERCI pour ton aide et à très bientôt

Rex


"Jacky" a écrit dans le message de news:

Bonjour,

Je voudrais afficher uniquement les lignes dont la date est entre celle
de C1 et B1


'-------------
Sub jj()
Application.ScreenUpdating = False
Range("a5:a" & Cells(Rows.Count, "a").End(3).Row).EntireRow.Hidden = False
For Each c In Range("a5:a" & Cells(Rows.Count, "a").End(3).Row)
If c < [b1] Or c > [c1] Then c.EntireRow.Hidden = True
Next
End Sub
'-----------------

--
Salutations
JJ


"rthompson" a écrit dans le message de
news:
Bonjour à toutes et tous

En B1 j'ai une date (21/2/2009)
En C1 j'ai une date postérieure à celle de B1 (15/3/2009)

De ma ligne 5 jusqu'à xxxxxxx dans la colonne A j'ai des dates

Je voudrais afficher uniquement les lignes dont la date est entre celle
de C1 et B1


Donc j'utilise ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Rows(i).Hidden = (Cells(i, "A") < [B1])
Next i
End Sub

Il me cache celles qui sont antérieures à B1
Mais pas celles qui sont postérieures à C1

MAIS
Si j'utilise uniquement ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Next i
End Sub

Alors il me cache celles qui sont postérieures à C1

Et je n'y comprends rien

D'avance un grand merci

A bientôt


Rex









Avatar
Jacky
Re..
Ta solution me donne le même problème que celle d'Isabelle
Elle cache toutes lignes


Pffff....
http://www.cijoint.fr/cjlink.php?file=cj200904/cijSz4HxOd.xls

--
Salutations
JJ


"rthompson" a écrit dans le message de
news:
Bonjour
Ta solution me donne le même problème que celle d'Isabelle

Elle cache toutes lignes

La solution de Corto fonctionne pour ce que je cherche à faire donc je
prends celle-là

MERCI pour ton aide et à très bientôt

Rex


"Jacky" a écrit dans le message de news:

Bonjour,

Je voudrais afficher uniquement les lignes dont la date est entre celle
de C1 et B1


'-------------
Sub jj()
Application.ScreenUpdating = False
Range("a5:a" & Cells(Rows.Count, "a").End(3).Row).EntireRow.Hidden =
False
For Each c In Range("a5:a" & Cells(Rows.Count, "a").End(3).Row)
If c < [b1] Or c > [c1] Then c.EntireRow.Hidden = True
Next
End Sub
'-----------------

--
Salutations
JJ


"rthompson" a écrit dans le message de
news:
Bonjour à toutes et tous

En B1 j'ai une date (21/2/2009)
En C1 j'ai une date postérieure à celle de B1 (15/3/2009)

De ma ligne 5 jusqu'à xxxxxxx dans la colonne A j'ai des dates

Je voudrais afficher uniquement les lignes dont la date est entre celle
de C1 et B1


Donc j'utilise ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Rows(i).Hidden = (Cells(i, "A") < [B1])
Next i
End Sub

Il me cache celles qui sont antérieures à B1
Mais pas celles qui sont postérieures à C1

MAIS
Si j'utilise uniquement ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Next i
End Sub

Alors il me cache celles qui sont postérieures à C1

Et je n'y comprends rien

D'avance un grand merci

A bientôt


Rex













Avatar
isabelle
et pourtant ces deux lignes disent exactement la même chose :

If Cells(i, "A") > [C1] Or Cells(i, "A") < [B1] Then Rows(i).Hidden = True

Rows(i).Hidden = Cells(i, 1) > [C1] Or Cells(i, 1) < [B1]


c'est le printemps chez moi (+14c), je demeure au sud du Québec, près de
la frontière US,
ce n'est pas la même chose au nord-est, il on eu une tempête de neige la
semaine dernière, 30 cm de neige avec des vent 90 km/h :-(

a--
isabelle

rthompson a écrit :
Comment fait-il en ce printemp là-bas dans le grand nord
Si je ne me trompe tu es de l'autre côté de la grande eau, non?



Avatar
isabelle
voilà : http://cjoint.com/?esgRVqTNN4

isabelle

rthompson a écrit :
Bonjour

C'est bizarre

Quand je lance ta macro elle cache toutes les lignes de 5 à 50

Je suis curieux par nature
donc aussitôt que j'ai le temps je vais voire ce qui s'y passe

Mais en attendant et comme je suis pressé

Je prends la solution de Corto qui fonctionne nickel

A bientôt et MERCI

PS
Comment fait-il en ce printemp là-bas dans le grand nord
Si je ne me trompe tu es de l'autre côté de la grande eau, non?


Rex



"isabelle" a écrit dans le message de news:


bonjour Rex,

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
If Cells(i, "A") > [C1] Or Cells(i, "A") < [B1] Then Rows(i).Hidden =
True
Next i
End Sub

isabelle

rthompson a écrit :

Bonjour à toutes et tous

En B1 j'ai une date (21/2/2009)
En C1 j'ai une date postérieure à celle de B1 (15/3/2009)

De ma ligne 5 jusqu'à xxxxxxx dans la colonne A j'ai des dates

Je voudrais afficher uniquement les lignes dont la date est entre celle
de C1 et B1


Donc j'utilise ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Rows(i).Hidden = (Cells(i, "A") < [B1])
Next i
End Sub

Il me cache celles qui sont antérieures à B1
Mais pas celles qui sont postérieures à C1

MAIS
Si j'utilise uniquement ce code-ci

Sub Periode_Visible()
Application.ScreenUpdating = False
For i = 5 To 50
Rows(i).Hidden = (Cells(i, "A") > [C1])
Next i
End Sub

Alors il me cache celles qui sont postérieures à C1

Et je n'y comprends rien

D'avance un grand merci

A bientôt


Rex














1 2