GNT sans publicité, site mobile, fonctionnalitées exclusives...

Probleme Macro Hidden

Le
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
Lire les 9 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LSteph
Le #4799101
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




Rex
Le #4799061
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" 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




Modeste
Le #4799051
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)))
Rex
Le #4799021
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"
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)))




Rex
Le #4799001
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" #
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






Publicité
Suivre les réponses
Poster une réponse
Anonyme