Tri de données dans un tableau excel

Gunner

XLDnaute Junior
Bonjour à tous,

Voilà mon problème ...je dois dans un tableau qui est une extraction d'un logiciel comptable faire le tri sur 74000 lignes.

Ce tableau comporte des informations liées à 5 sociétés distinctes liées. Je dois " bloquer " les sociétés dont les valeurs dans les colonnes I et J ( commande d'achat en cours et chiffre d'affaire ) comportent la valeur " NON".
Pour des raisons purement comptables et techniques si l'une des valeurs sur ces 5 sociétés dans les deux colonnes est égale à oui je ne peux rien bloquer. La valeur " non " est impérative et obligatoire sur tout .
La fonction de filtre n'est pas satisfaisante car elle tient compte des valeurs oui ou non mais pas du principe des 5 sociétés liées.

Par le biais d'une macro ou d'une fonction j'aurai juste besoin par exemple que ces " non " s'affichent en rouge...mais tout autres solutions permettant de les visualiser est la bienvenue.

Merci de votre aide
 

Pièces jointes

  • Tri 5 societes.xlsx
    13.9 KB · Affichages: 29
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Re : Tri de données dans un tableau excel

Re Gunner,

clique-droit sur la feuille, visualiser le code; et la tu mets la macro.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
lig = Range("I74000").End(xlUp).Row à modifier par la colonne G - Range("G74000")


A+ :cool:
 
Dernière édition:

Gunner

XLDnaute Junior
Re : Tri de données dans un tableau excel

Re Gunner,

clique-droit sur la feuille, visualiser le code; et la tu mets la macro.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
lig = Range("I74000").End(xlUp).Row à modifier par la colonne G - Range("G74000")


A+ :cool:

Quand j’insère la macro, immédiatement la deuxième ligne est en rouge...c'est grave docteur ?
 

Gunner

XLDnaute Junior
Re : Tri de données dans un tableau excel

Re Gunner

Un essai comme ceci peut-etre : double-clic sur une cellule à part la colonne G, et clique en colonne G pour enlever le filtre.

Code:
Option Explicit
Dim lig, x  As Long
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Application.ScreenUpdating = False
On Error Resume Next
Range("A1:O74000").AutoFilter Field:=10, Criteria1:="Non", Operator:=xlAnd
lig = Range("I74000").End(xlUp).Row
For x = 2 To lig
If Range("I" & x) = "oui" Then Range("I" & x).EntireRow.Hidden = True
Next x
Cancel = True
End Sub


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
lig = Range("I74000").End(xlUp).Row
For x = 2 To lig
If Not Intersect(Target, Range("G" & x)) Is Nothing Then Range("A1:O74000").AutoFilter
Next x
End Sub



A+ :cool:

J'ai réussie à faire fonctionner ce code mais là aussi si il y a 1 oui et 9 non, la ligne avec le oui disparaity et il me reste les 4 lignes de non. Dans ce cas précis les 4 lignes restantes doivent disparaitres . Le seul cas pertinent pour moi est le cas où j'ai 5 lignes et 10 non .
 

Lone-wolf

XLDnaute Barbatruc
Re : Tri de données dans un tableau excel

Re,

comme ceci alors, sinon je ne sais plus.

Code:
Option Explicit
Dim lig, x  As Long
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Application.ScreenUpdating = False
On Error Resume Next
Range("A1:O74000").AutoFilter Field:=9, Criteria1:="oui", Operator:=xlAnd
Cancel = True
End Sub


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
lig = Range("I74000").End(xlUp).Row
For x = 2 To lig
If Not Intersect(Target, Range("G" & x)) Is Nothing Then Range("A1:O74000").AutoFilter
Next x
End Sub


A+ :cool:
 
Dernière édition:

Gunner

XLDnaute Junior
Re : Tri de données dans un tableau excel

Re,

comme ceci alors, sinon je ne sais plus.

Code:
Option Explicit
Dim lig, x  As Long
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Application.ScreenUpdating = False
On Error Resume Next
Range("A1:O74000").AutoFilter Field:=9, Criteria1:="oui", Operator:=xlAnd
Cancel = True
End Sub


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
lig = Range("I74000").End(xlUp).Row
For x = 2 To lig
If Not Intersect(Target, Range("G" & x)) Is Nothing Then Range("A1:O74000").AutoFilter
Next x
End Sub


A+ :cool:

Avec cette solution seuls les oui s'affichent...
Le problème est qu'il faut arriver à faire en sorte que les 5 informations sont vraies ou fausses. En fait il faut pouvoir traiter les 5 sociétés comme un bloc entier et indivisible. si j'ai 10 non c'est vraie si j'ai au moins 1 oui c'est faux pour tout le bloc et il disparait.
Seuls restent visibles à l’écran le bloc " vrai " AVEC 10 NON.
 
Dernière édition:

Gunner

XLDnaute Junior
Re : Tri de données dans un tableau excel

Re,

comme ceci alors, sinon je ne sais plus.

Code:
Option Explicit
Dim lig, x  As Long
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Application.ScreenUpdating = False
On Error Resume Next
Range("A1:O74000").AutoFilter Field:=9, Criteria1:="oui", Operator:=xlAnd
Cancel = True
End Sub


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
lig = Range("I74000").End(xlUp).Row
For x = 2 To lig
If Not Intersect(Target, Range("G" & x)) Is Nothing Then Range("A1:O74000").AutoFilter
Next x
End Sub


A+ :cool:

Non là non plus....et bien merci de ton aide...je reconnais que le cas est complexe.
 

Gunner

XLDnaute Junior
Re : Tri de données dans un tableau excel

Bonjour Gunner,

non. Tu copies les lignes sur une autre feuille de ce tu veux avoir au final.


A+ :cool:

Bonjour,

tu trouveras en attaché deux tableaux. Le premier est le tableau original qui a été posté au départ de cette grande aventure....et le deuxième est celui qui devrait apparaitre une fois traité. Comme tu pourras le constater il ne reste que trois fournisseurs avec les 5 sociétés comportant le "non".
Merci à toi
 

Pièces jointes

  • Fichier original.xlsx
    14.4 KB · Affichages: 18
  • Fichier traité.xlsx
    11.8 KB · Affichages: 12
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Re : Tri de données dans un tableau excel

Bonjour Gunner,

personnellement je me défend en calculs, mais là je sèche. Comment, depuis un tableau avec 10 sociétés qui comportes des "Non", obtient-on au final que 3 sociétés??? En Images

Fichier Source
source.jpg

Fichier Final
donnees_finales.jpg



A+ :cool:
 

Gunner

XLDnaute Junior
Re : Tri de données dans un tableau excel

Bonjour Gunner,

personnellement je me défend en calculs, mais là je sèche. Comment, depuis un tableau avec 10 sociétés qui comportes des "Non", obtient-on au final que 3 sociétés??? En Images

Fichier Source
Regarde la pièce jointe 359744

Fichier Final
Regarde la pièce jointe 359745



A+ :cool:

Oui il y a bien 10 societes...mais tu en a 7 qui comportent des oui et des non et trois avec uniquement des non. Et ces trois là qui ont de l'importance
 

Lone-wolf

XLDnaute Barbatruc
Re : Tri de données dans un tableau excel

Re,

trois avec uniquement des non.
Seulement 3??? Désolé mais tu as un problème de vue.

Et c'est impossible avec tous les "Non" qu'il y a, sauf si pour les sociétés que tu veux, tu rajoutes une colonne avec un "X" par exemple. Oubien l'option "Filtre automatique" via DONNEES / FILTRE.



A+ :cool:
 
Dernière édition:

Gunner

XLDnaute Junior
Re : Tri de données dans un tableau excel

Re,

Seulement 3??? Désolé mais tu as un problème de vue.

Et c'est impossible avec tous les "Non" qu'il y a, sauf si pour les sociétés que tu veux, tu rajoutes une colonne avec un "X" par exemple. Oubien l'option "Filtre automatique" via DONNEES / FILTRE.



A+ :cool:

Non je n'ai pas de problèmes de vues ;) et je comprends ton problème et je crois que j'en parle plus tôt . En fait les 5 sociétés se répètent à chaque fois, 5 fois les mêmes. Et il faut comprendre que les 5 sociétés forment un bloc indivisible. Si dans ce bloc indivisible il y a juste un oui c'est pas bon.....est ce plus clair ?
 
Dernière édition:

Discussions similaires

Réponses
28
Affichages
1 K

Statistiques des forums

Discussions
312 249
Messages
2 086 609
Membres
103 260
dernier inscrit
NHOURRA