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

Probleme Macro Hidden

9 réponses
Avatar
Rex
Bonsoir à toutes et tous

A première vue le groupe est anormalement lent ce soir ;-((((((

Enfin j'espère que l'un d'entre vous a une petite idée pour solutioner mon
problème

Dans la macro ci-dessous seul les lignes ou Paid est en ligne H est cachée

Alors que j'espèrais que toutes celles renseignées seraient cachées


Alors, qu'est-ce que je fais de mal ;-((((((((


A bientôt et merci

Rex

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sub SelectStatus()
Application.ScreenUpdating = False
Range([H2], [H185]).EntireRow.Show
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Offer")
Next c
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Ordered")
Next c
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Ordered to Promethean")
Next c
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Invoice Requested")
Next c
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Invoiced")
Next c
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Paid")
Next c


Application.ScreenUpdating = True
Application.EnableEvents = True ' Secours pour réparer un éventuel
arrêt du code Worksheet_Change()
'
End Sub
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

9 réponses

Avatar
LSteph
Bonsoir MajoR,
;-)
cela fait exactement ce qui est écrit d'abord Offer
..ensuite Ordered..enfin c'est ta dernière reboucle
(qui rend les toutes inutiles d'ailleurs)qui a le dernier mot:
Paid ..!

Sub SelectStatus()
Application.ScreenUpdating = False
Range([H2], [H185]).EntireRow.Show
For Each c In Range([H2], [H185])
Select Case c
Case "Offer", "Ordered", "Ordered to Promethean", _
"Invoice Requested", "Invoiced", "Paid"
c.EntireRow.Hidden = True
Case Else
c.EntireRow.Hidden = False
End Select
Next c

End Sub

'Cdlt.
'lSteph


Bonsoir à toutes et tous

A première vue le groupe est anormalement lent ce soir ;-((((((

Enfin j'espère que l'un d'entre vous a une petite idée pour solutioner mon
problème

Dans la macro ci-dessous seul les lignes ou Paid est en ligne H est cachée

Alors que j'espèrais que toutes celles renseignées seraient cachées


Alors, qu'est-ce que je fais de mal ;-((((((((


A bientôt et merci

Rex

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sub SelectStatus()
Application.ScreenUpdating = False
Range([H2], [H185]).EntireRow.Show
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Offer")
Next c
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Ordered")
Next c
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Ordered to Promethean")
Next c
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Invoice Requested")
Next c
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Invoiced")
Next c
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Paid")
Next c


Application.ScreenUpdating = True
Application.EnableEvents = True ' Secours pour réparer un éventuel
arrêt du code Worksheet_Change()
'
End Sub
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx




Avatar
Rex
Bonsoir

Et je comprends de moins en moins

Si j'excécute la macro suivante

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sub SelectStatus()
Application.ScreenUpdating = False
Cells.EntireRow.Hidden = False
For Each c In Range([H6], [H185])
For Each c In Range([H6], [H185])
c.EntireRow.Hidden = (c.Value = "Paid") = (c.Value = " ")
Next c
Application.ScreenUpdating = True
Application.EnableEvents = True ' Secours pour réparer un éventuel
arrêt du code Worksheet_Change()
End Sub
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Toutes mes lignes sont cachées sauve celle ou H égale Paid

Mais si je supprime le =(c.Value=" ") en fin de ligne six
Alors il n'y a que la ligne Paid quii est cachée

Est-ce normale?????

Je vous rappelle que je voudrais pouvoir cacher toutes les lignes contenant
Paid

Et ceci fonctionne

Mais je ne comprends pas pourquoi??????

Alors que ma macro dans mon poste en tête de fil ne fonctionne pas


Rex

;-)????????

Qui se pose des questions


"Rex" a écrit dans le message de news:
OC#$
Bonsoir à toutes et tous

A première vue le groupe est anormalement lent ce soir ;-((((((

Enfin j'espère que l'un d'entre vous a une petite idée pour solutioner mon
problème

Dans la macro ci-dessous seul les lignes ou Paid est en ligne H est cachée

Alors que j'espèrais que toutes celles renseignées seraient cachées


Alors, qu'est-ce que je fais de mal ;-((((((((


A bientôt et merci

Rex

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sub SelectStatus()
Application.ScreenUpdating = False
Range([H2], [H185]).EntireRow.Show
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Offer")
Next c
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Ordered")
Next c
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Ordered to Promethean")
Next c
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Invoice Requested")
Next c
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Invoiced")
Next c
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Paid")
Next c


Application.ScreenUpdating = True
Application.EnableEvents = True ' Secours pour réparer un éventuel
arrêt du code Worksheet_Change()
'
End Sub
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx




Avatar
Modeste
Bonsour® Rex avec ferveur ;o))) vous nous disiez :

si j'ai bien compris tu veux masquer la ligne courante, si en colonne H il
existe l'un des 6 status possibles

' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sub SelectStatus()
Application.ScreenUpdating = False
Range([H2], [H185]).EntireRow.Show
For Each c In Range([H2], [H185])
if (c.Value = "Offer") _
or (c.Value = "Ordered") _
or (c.Value = "Ordered to Promethean") _
or(c.Value = "Invoice Requested") _
or (c.Value = "Invoiced") _
or (c.Value = "Paid") then
c.EntireRow.Hidden =true
end if
next c

Application.ScreenUpdating = True
Application.EnableEvents = True ' Secours pour réparer un éventuel
'arrêt du code Worksheet_Change()
End Sub
' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx



--
--
@+
;o)))
Avatar
Rex
Ben non

Une fois de plus le Teapot s'explique mal

Il est grand temps qu'il retourne à l'école pour apprendre le Français
;-))))))

J'essaye (péniblement) de me débrouiller seul pour la création d'une macro

Et si j'arrive à un certain résultat, c'est pas tout à fait ce que je veux

Et en plus je ne tenais pas non plus à encore recevoir une réponse toute
faite

MAis comme il commence à ce faire tard, je finir par demander une solution
finale

L'idée serait d'avoir dans une cellule H3 une liste définie par un nom (ça
je peux le faire!!!)
Et cette liste contient les mots
Offre, Ordered, Ordered to Prom, Delivered, Invoice Rquested, Invoiced, et
Paid

En colonne H pour chaque transaction j'ai son statut
Ce que je voudrais est que quand je sélectionne une option de cette liste
la macro cache tout sauf les lignes ou en colonne H j'ai le mot sélectionné
dans la liste

Je me suis basé sur des macro (notament Trirème) sans grand succès


Alors si tu as le temps et la gentillesse

Merci

Rex ;-((((

Et maintenant je vais vite répondre à Lsteph ;-))))





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

Bonsour® Rex avec ferveur ;o))) vous nous disiez :

si j'ai bien compris tu veux masquer la ligne courante, si en colonne H il
existe l'un des 6 status possibles

' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sub SelectStatus()
Application.ScreenUpdating = False
Range([H2], [H185]).EntireRow.Show
For Each c In Range([H2], [H185])
if (c.Value = "Offer") _
or (c.Value = "Ordered") _
or (c.Value = "Ordered to Promethean") _
or(c.Value = "Invoice Requested") _
or (c.Value = "Invoiced") _
or (c.Value = "Paid") then
c.EntireRow.Hidden =true
end if
next c

Application.ScreenUpdating = True
Application.EnableEvents = True ' Secours pour réparer un éventuel
'arrêt du code Worksheet_Change()
End Sub
' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx



--
--
@+
;o)))




Avatar
Rex
Bonsoir et merci pour ce petit cours

Je crois que j'ai quand même appris quelque chose aujourd'hui

Et ta macro proposée fait le boulot que j'avais demand"

MAis comme je viens de l'expliquer à Modeste

La finalité était autre
Et comme je commence à fatiguer si tu as le temps et la gentillesse
Faut pas faire de jaloux entre toi et Modeste ;-)))

Jette un petit coup d'oeil sur la réponse que je viens de lui faire

De toute façon merci à toi et à bientôt

Rex





"LSteph" a écrit dans le message de news:
#
Bonsoir MajoR,
;-)
cela fait exactement ce qui est écrit d'abord Offer
..ensuite Ordered..enfin c'est ta dernière reboucle
(qui rend les toutes inutiles d'ailleurs)qui a le dernier mot:
Paid ..!

Sub SelectStatus()
Application.ScreenUpdating = False
Range([H2], [H185]).EntireRow.Show
For Each c In Range([H2], [H185])
Select Case c
Case "Offer", "Ordered", "Ordered to Promethean", _
"Invoice Requested", "Invoiced", "Paid"
c.EntireRow.Hidden = True
Case Else
c.EntireRow.Hidden = False
End Select
Next c

End Sub

'Cdlt.
'lSteph


Bonsoir à toutes et tous

A première vue le groupe est anormalement lent ce soir ;-((((((

Enfin j'espère que l'un d'entre vous a une petite idée pour solutioner
mon


problème

Dans la macro ci-dessous seul les lignes ou Paid est en ligne H est
cachée



Alors que j'espèrais que toutes celles renseignées seraient cachées


Alors, qu'est-ce que je fais de mal ;-((((((((


A bientôt et merci

Rex

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sub SelectStatus()
Application.ScreenUpdating = False
Range([H2], [H185]).EntireRow.Show
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Offer")
Next c
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Ordered")
Next c
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Ordered to Promethean")
Next c
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Invoice Requested")
Next c
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Invoiced")
Next c
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Paid")
Next c


Application.ScreenUpdating = True
Application.EnableEvents = True ' Secours pour réparer un éventuel
arrêt du code Worksheet_Change()
'
End Sub
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx






Avatar
Modeste
Bonsour® Rex avec ferveur ;o))) vous nous disiez :


L'idée serait d'avoir dans une cellule H3 une liste définie par un
nom (ça je peux le faire!!!)
Et cette liste contient les mots
Offre, Ordered, Ordered to Prom, Delivered, Invoice Rquested,
Invoiced, et Paid


OK !!!
H3 contient le status sélectionné

En colonne H pour chaque transaction j'ai son statut
Ce que je voudrais est que quand je sélectionne une option de cette
liste la macro cache tout sauf les lignes ou en colonne H j'ai le mot
sélectionné dans la liste


--- la plage concernée est au-dela de H3
(H4:H185) ????
'
Sub SelectStatus()
Application.ScreenUpdating = False
Range([H4], [H185]).EntireRow.Show
For Each c In Range([H4], [H185])
c.EntireRow.Hidden =not((c.Value = [H3])
next c

Application.ScreenUpdating = True
Application.EnableEvents = True ' Secours pour réparer un
éventuel 'arrêt du code Worksheet_Change()
End Sub
' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
@+
;o)))

Avatar
Rex
Bonsoir

Ta macro est fausse et ne marche pas ;-((((
Je suis terriblement déçu ;-((((((((

Toi d'habitude si parfait et si perspicace
tu n'as même pas compris que c'était à partir de la cellule H6 et non H4

Mon Dieu que je suis déçu

Mais là alors déçu, déçu



But seriously

C'EST NICKEL ;-))))))))))))))))))

Une fois de plus tu te surpasse
Tant en rapidité qu'en efficacité

Un tout grand merci à toi

Et surement à demain pour d'autre question


Rex :-))) ))) )))

"Modeste" a écrit dans le message de news:
#
Bonsour® Rex avec ferveur ;o))) vous nous disiez :


L'idée serait d'avoir dans une cellule H3 une liste définie par un
nom (ça je peux le faire!!!)
Et cette liste contient les mots
Offre, Ordered, Ordered to Prom, Delivered, Invoice Rquested,
Invoiced, et Paid


OK !!!
H3 contient le status sélectionné

En colonne H pour chaque transaction j'ai son statut
Ce que je voudrais est que quand je sélectionne une option de cette
liste la macro cache tout sauf les lignes ou en colonne H j'ai le mot
sélectionné dans la liste


--- la plage concernée est au-dela de H3
(H4:H185) ????
'
Sub SelectStatus()
Application.ScreenUpdating = False
Range([H4], [H185]).EntireRow.Show
For Each c In Range([H4], [H185])
c.EntireRow.Hidden =not((c.Value = [H3])
next c

Application.ScreenUpdating = True
Application.EnableEvents = True ' Secours pour réparer un
éventuel 'arrêt du code Worksheet_Change()
End Sub
' xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
@+
;o)))





Avatar
LSteph
;o)
je reviens sur ce fil mais visiblement tu as déjà réponse, comme il est
tard, cela tombe bien!

Faut pas faire de jaloux...
Pas de risque!

Chacun profite de ce que d'autres répondent, même si c'est parfois un
peu pareil et surtout qd c'est un peu différent, car ainsi on acquiert
d'autres façons de faire ou d'autres idées.

@bientôt


Bonsoir et merci pour ce petit cours

Je crois que j'ai quand même appris quelque chose aujourd'hui

Et ta macro proposée fait le boulot que j'avais demand"

MAis comme je viens de l'expliquer à Modeste

La finalité était autre
Et comme je commence à fatiguer si tu as le temps et la gentillesse
Faut pas faire de jaloux entre toi et Modeste ;-)))

Jette un petit coup d'oeil sur la réponse que je viens de lui faire

De toute façon merci à toi et à bientôt

Rex





"LSteph" a écrit dans le message de news:
#
Bonsoir MajoR,
;-)
cela fait exactement ce qui est écrit d'abord Offer
..ensuite Ordered..enfin c'est ta dernière reboucle
(qui rend les toutes inutiles d'ailleurs)qui a le dernier mot:
Paid ..!

Sub SelectStatus()
Application.ScreenUpdating = False
Range([H2], [H185]).EntireRow.Show
For Each c In Range([H2], [H185])
Select Case c
Case "Offer", "Ordered", "Ordered to Promethean", _
"Invoice Requested", "Invoiced", "Paid"
c.EntireRow.Hidden = True
Case Else
c.EntireRow.Hidden = False
End Select
Next c

End Sub

'Cdlt.
'lSteph


Bonsoir à toutes et tous

A première vue le groupe est anormalement lent ce soir ;-((((((

Enfin j'espère que l'un d'entre vous a une petite idée pour solutioner
mon


problème

Dans la macro ci-dessous seul les lignes ou Paid est en ligne H est
cachée


Alors que j'espèrais que toutes celles renseignées seraient cachées


Alors, qu'est-ce que je fais de mal ;-((((((((


A bientôt et merci

Rex

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sub SelectStatus()
Application.ScreenUpdating = False
Range([H2], [H185]).EntireRow.Show
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Offer")
Next c
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Ordered")
Next c
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Ordered to Promethean")
Next c
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Invoice Requested")
Next c
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Invoiced")
Next c
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Paid")
Next c


Application.ScreenUpdating = True
Application.EnableEvents = True ' Secours pour réparer un éventuel
arrêt du code Worksheet_Change()
'
End Sub
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx










Avatar
Rex
Merci et bonne nuit

Rex

;-))



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

;o)
je reviens sur ce fil mais visiblement tu as déjà réponse, comme il est
tard, cela tombe bien!

Faut pas faire de jaloux...
Pas de risque!

Chacun profite de ce que d'autres répondent, même si c'est parfois un
peu pareil et surtout qd c'est un peu différent, car ainsi on acquiert
d'autres façons de faire ou d'autres idées.

@bientôt


Bonsoir et merci pour ce petit cours

Je crois que j'ai quand même appris quelque chose aujourd'hui

Et ta macro proposée fait le boulot que j'avais demand"

MAis comme je viens de l'expliquer à Modeste

La finalité était autre
Et comme je commence à fatiguer si tu as le temps et la gentillesse
Faut pas faire de jaloux entre toi et Modeste ;-)))

Jette un petit coup d'oeil sur la réponse que je viens de lui faire

De toute façon merci à toi et à bientôt

Rex





"LSteph" a écrit dans le message de news:
#
Bonsoir MajoR,
;-)
cela fait exactement ce qui est écrit d'abord Offer
..ensuite Ordered..enfin c'est ta dernière reboucle
(qui rend les toutes inutiles d'ailleurs)qui a le dernier mot:
Paid ..!

Sub SelectStatus()
Application.ScreenUpdating = False
Range([H2], [H185]).EntireRow.Show
For Each c In Range([H2], [H185])
Select Case c
Case "Offer", "Ordered", "Ordered to Promethean", _
"Invoice Requested", "Invoiced", "Paid"
c.EntireRow.Hidden = True
Case Else
c.EntireRow.Hidden = False
End Select
Next c

End Sub

'Cdlt.
'lSteph


Bonsoir à toutes et tous

A première vue le groupe est anormalement lent ce soir ;-((((((

Enfin j'espère que l'un d'entre vous a une petite idée pour solutioner
mon


problème

Dans la macro ci-dessous seul les lignes ou Paid est en ligne H est
cachée


Alors que j'espèrais que toutes celles renseignées seraient cachées


Alors, qu'est-ce que je fais de mal ;-((((((((


A bientôt et merci

Rex

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sub SelectStatus()
Application.ScreenUpdating = False
Range([H2], [H185]).EntireRow.Show
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Offer")
Next c
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Ordered")
Next c
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Ordered to Promethean")
Next c
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Invoice Requested")
Next c
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Invoiced")
Next c
For Each c In Range([H2], [H185])
c.EntireRow.Hidden = (c.Value = "Paid")
Next c


Application.ScreenUpdating = True
Application.EnableEvents = True ' Secours pour réparer un
éventuel




arrêt du code Worksheet_Change()
'
End Sub
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx