Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Forum Excel


Réponse
 
LinkBack Outils de la discussion
Vieux 22/04/2005, 19h21   #1 (permalink)
guy
Guest
 
Messages: n/a
Par défaut filtrer les lignes celon couleur

Bonsoir,

Je sollicite votre aide,

Je souhaite pouvoir filtrer les lignes de mon fichier,

le critère du filtrage est :

cellules aux fonds rouges situées dans une plage de plusieurs colonnes (voir le fichier joint).


Je souhaite aussi avoir la possibilité d'annuler ce filtrage pour pouvoir revisualiser toutes les lignes.

Cordialement

Guy
[file name=Classeur1_20050422192142.zip size=8318]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur1_20050422192142.zip[/file]
Fichiers attachés
Type de fichier : zip Classeur1_20050422192142.zip (8,1 Ko, 0 affichages)
  Réponse avec citation
ANNONCES
Vieux 22/04/2005, 21h55   #2 (permalink)
XLDnaute Accro
 
Avatar de Gérard DEZAMIS
 
Date d'inscription: février 2005
Localisation: Melun
Version Excel : Excel 2003 (PC)
Messages: 1 527
Par défaut Re:filtrer les lignes celon couleur

Bonsoir Guy

Comme personne n'a de solution jusqu'à présent je vais te proposer ma 'bidouille' version VBA raz des paquerettes...

Regarde si cela peut te rendre service en attendant mieux

Bien cordialement

@+ GD [file name=FiltrerCouleursGuy.zip size=15942]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/FiltrerCouleursGuy.zip[/file]
Fichiers attachés
Type de fichier : zip FiltrerCouleursGuy.zip (15,6 Ko, 3 affichages)
Gérard DEZAMIS est déconnecté   Réponse avec citation
Vieux 23/04/2005, 05h34   #3 (permalink)
guy
Guest
 
Messages: n/a
Par défaut Re:filtrer les lignes celon couleur

C'est parfait !!!

Merci infiniment :-))

Bon weekend

Guy
  Réponse avec citation
Vieux 30/04/2005, 16h30   #4 (permalink)
guy
Guest
 
Messages: n/a
Par défaut Tri trop lent (2 mins)

Bonjour à tous,


Gérard DEZAMIS m'a aimablement transmis cette macro qui filtre les lignes de mon fichier,


le critère du filtrage est :

cellules aux fonds rouges situées dans une plage de plusieurs colonnes (voir le fichier joint).


le tri prend 2 mins

Peut être connaissez vous des astuces pour que ce soit plus rapide.

Cordialement
  Réponse avec citation
Vieux 30/04/2005, 20h56   #5 (permalink)
XLDnaute Accro
 
Date d'inscription: mars 2005
Messages: 1 049
Par défaut Re:Tri trop lent (2 mins)

Salut,

sur un fichier de test , un X en cellule D9988 (pour savoir quelle est la dernière cellule occupée ) et en fond rouge (seul modif sur le fichier de Gérard):
mon code: 2.28125
celui de gérard: 2.98437
Dell Inspiron 1.2 Gg 256 Ram
Pas tres significatif !! mais le voilà dans un module normal VBA.

Option Explicit
Sub ESSAI()
Dim rngdelete2 As Range
Dim rng2 As Range
Dim Le_parametre As Boolean
Dim Lastrowa As Integer
Dim start, stopp
start = Timer
Application.ScreenUpdating = False
With ActiveSheet
For Each rng2 In .Range(.Cells(1, 4), _
.Cells(.Rows.Count, 4).End(xlUp))
Le_parametre = rng2.Interior.ColorIndex = 3 _
Or rng2.Offset(0, 1).Interior.ColorIndex = 3 _
Or rng2.Offset(0, 2).Interior.ColorIndex = 3 _
Or rng2.Offset(0, 3).Interior.ColorIndex = 3 _
Or rng2.Offset(0, 4).Interior.ColorIndex = 3

' Le_parametre = ((rng2.Value) = rng2.Offset(1, 0).Value) And IsEmpty(rng2.Offset(1, 3))
If Le_parametre = True Then
If rngdelete2 Is Nothing Then
Set rngdelete2 = rng2.EntireRow
Else
Set rngdelete2 = Union(rngdelete2, rng2.EntireRow)
End If
End If
Next rng2
End With
If Not rngdelete2 Is Nothing Then rngdelete2.EntireRow.Hidden = True
stopp = Timer
Range('H1').Value = (stopp - start)
End Sub

attention au(x) coupure(s) de ligne
Patrick
pat1545. est déconnecté   Réponse avec citation
Vieux 01/05/2005, 14h21   #6 (permalink)
XLDnaute Barbatruc
 
Avatar de ChTi160
 
Date d'inscription: février 2005
Localisation: Savigny le Temple 77176
Version Excel : Excel 2007 (PC)
Messages: 3 090
Envoyer un message via MSN à ChTi160
Par défaut Re:Tri trop lent (2 mins)

Salut 'Pat1545
pourrais tu mettre un extrait de ton fichier?
car celà n'est pas très Clair

merci d'avance
Amicalement
Jean Marie
__________________
Amicalement Jean Marie

ChTi160 est déconnecté   Réponse avec citation
Vieux 03/05/2005, 20h51   #7 (permalink)
XLDnaute Accro
 
Date d'inscription: mars 2005
Messages: 1 049
Par défaut Re:Tri trop lent (2 mins)

Salut, chTi160 et les autres

le fichier est celui de Gérard ici plus haut ou plus bas :-))
rien de plus sauf que j'ai mis une données en ligne 9900 et quelques et lancé la macro de gérard et la mienne.

c'est ce fichier là dans le fil: FiltrerCouleursGuy.zip


Patrick
pat1545. est déconnecté   Réponse avec citation
Vieux 03/05/2005, 21h43   #8 (permalink)
XLDnaute Barbatruc
 
Avatar de ChTi160
 
Date d'inscription: février 2005
Localisation: Savigny le Temple 77176
Version Excel : Excel 2007 (PC)
Messages: 3 090
Envoyer un message via MSN à ChTi160
Par défaut Re:Tri trop lent (2 mins)

Salut Guy
bonsoir le Fil
ma petite contribution
Amicalement
Jean marie [file name=FiltrerCouleursGuyV2.zip size=14573]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/FiltrerCouleursGuyV2.zip[/file]
__________________
Amicalement Jean Marie


Dernière modification par ChTi160 ; 13/09/2006 à 18h18.
ChTi160 est déconnecté   Réponse avec citation
Vieux 03/05/2005, 22h15   #9 (permalink)
XLDnaute Barbatruc
 
Avatar de ChTi160
 
Date d'inscription: février 2005
Localisation: Savigny le Temple 77176
Version Excel : Excel 2007 (PC)
Messages: 3 090
Envoyer un message via MSN à ChTi160
Par défaut Re:Tri trop lent (2 mins)

Re

Adaptation d'un Code de Pascal76

Code:
Sub CacheV2()
Dim i As Integer
Dim derlgn As Integer
Dim x As Byte
Dim nbre As Byte
Application.ScreenUpdating = False
derlgn = Range('D65536'Â'Â').End(xlUp).Row
For i = derlgn To 3 Step -1
nbre = 0
For x = 4 To 8
If Cells(i, x).Interior.ColorIndex = 3 Then nbre = nbre + 1
Next x
If nbre < 1 Then Rows(i).Hidden = True
Next i
Application.ScreenUpdating = True
End Sub
Amicalemant
Jean Marie
__________________
Amicalement Jean Marie

ChTi160 est déconnecté   Réponse avec citation
Vieux 04/05/2005, 11h10   #10 (permalink)
XLDnaute Accro
 
Date d'inscription: mars 2005
Messages: 1 049
Par défaut Re:Tri trop lent (2 mins)

Salut, Jean Marie,
petite erreur dans mon code, je masquais le contraire de ce qui était demandé;
temps exécution:
amd 1.92 Ghz/windows xp sp2:
1.15625




Sub ESSAIpmk()
Dim rngdelete2 As Range
Dim rng2 As Range
Dim Le_parametre As Boolean
Dim Lastrowa As Integer
Dim start, stopp
start = Timer
Application.ScreenUpdating = False
With ActiveSheet
For Each rng2 In .Range(.Cells(3, 4), _
.Cells(.Rows.Count, 4).End(xlUp))
Le_parametre = Not rng2.Interior.ColorIndex = 3 _
And Not rng2.Offset(0, 1).Interior.ColorIndex = 3 _
And Not rng2.Offset(0, 2).Interior.ColorIndex = 3 _
And Not rng2.Offset(0, 3).Interior.ColorIndex = 3 _
And Not rng2.Offset(0, 4).Interior.ColorIndex = 3

' Le_parametre = ((rng2.Value) = rng2.Offset(1, 0).Value) And IsEmpty(rng2.Offset(1, 3))
If Le_parametre = True Then
If rngdelete2 Is Nothing Then
Set rngdelete2 = rng2.EntireRow
Else
Set rngdelete2 = Union(rngdelete2, rng2.EntireRow)
End If
End If
Next rng2
End With
If Not rngdelete2 Is Nothing Then rngdelete2.EntireRow.Hidden = True
stopp = Timer
Range('A2').Value = stopp
Range('B2').Value = start
Range('C2').Value = (stopp - start)
End Sub
pat1545. est déconnecté   Réponse avec citation
ANNONCES
Réponse

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 12h41.


(C) 2006 Excel Downloads