Suppression des doublons + somme

Résolu
bankal Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
bankal Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à toutes et à tous,

Je débute en VBA, j'ai une base de données que je veux rendre plus lisible:

Mon tableau va de A à Z en colonnes et j'aimerais que si les valeurs des colonnes B G et H sont égales on n'affiche qu'une seule ligne et que dans cette ligne il y est la valeur la plus grande des "doublons supprimés" en A, et la somme des valeurs des "doublons supprimés" en J et L.

Je suis à deux doigts de manger mon clavier à cause de ce petit bout de code que je n'arrive pas à faire...

Je vous remercie de votre aide
A voir également:

5 réponses

michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjou
Mon tableau va de A à Z en colonnes et j'aimerais que si les valeurs des colonnes B G et H sont égales on n'affiche qu'une seule ligne et que dans cette ligne il y est la valeur la plus grande des "doublons supprimés" en A, et la somme des valeurs des "doublons supprimés" en J et L.



Incompréhensible !!!
0
bankal Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Michel,

Je manque de clareté..

Ce que j'aimerais c'est que si il y a plusieurs lignes dont les valeurs dans la colonnes B G et H sont identiques alors on affiche qu'une seule ligne et que sur cette ligne il y est en colonne J et en colonne L la somme des valeurs des cellules qui ont été supprimées sur ces colonnes.
Pareil pour la colonne A, à la différence près que je ne veux pas la somme mais la valeur maximale de tous les doublons supprimés.

En gros que:
A B C D E F G H I J K L
1 P Oui 1 28 14
2 K Non 0 32 21
1 K Oui 1 14 13
3 P Oui 1 15 61

devienne:
A B C D E F G H I J K L
3 P Oui 1 43 75
2 K Non 0 32 21
1 K Oui 1 14 13

C'est plus clair?

Merci de ton aide
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
La solution devrait ^tre assez facile mais pour ^tre efficace et pouvoir faire des tests:

Mettre le classeur sans données confidentielles en pièce jointe sur https://www.cjoint.com/
et coller le lien proposé dans le message de réponse
Dans l'attente
0
bankal Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   > michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention  
 
Merci,

Le lien pour les fichier est: https://www.cjoint.com/c/EEotL26iWMJ

Il s'agit de la feuille "par PDL" si "Date Saisie" (colonne D) ET "N° PDL" (colonne J) ET "type demande" (colonne N) sont égales,alors ne faire apparaître qu'une seule ligne dans laquelle la date livrable est la plus grande des doublons supprimés et les cellules des colonnes S et T les sommes des doublons supprimés..

Merci mille fois
0
bankal Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
Des idées ?
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour
pour évaluer une solution combien de lignes réellement (environ) ?
importance des couleurs de dates(vert et rouge) ?
0
bankal Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Il peut y avoir jusqu'à 3000 lignes, et la couleur des dates est juste en fonction de la date souhaitée (inférieure ou supérieure), si la date max est supérieure à la date souhaitée alors il faudrait qu'elle reste rouge, sinon en vert..
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour,
Bonjour,
hyper-piégé ce truc !!!!
Essai apparement Ok mais...
https://www.cjoint.com/?3ErmwqlTcPN
à toi de jouer et de dire
0
bankal Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Merci pour tout le boulot que ça a du représenté (en 3 siècles je suis pas sûr de parvenir à ça...).
J'ai testé la macro et je pense que les sommes en quantité demandée et satisfaite ne se font pas.
par exemple:
ligne 8 et 9 avant lancement de la macro vont être concaténées
----- lancement macro
Il n'existe plus qu'une seule ligne en ligne 7 reprenant bien la date max mais ne reprenant pas la somme des quantités des lignes 8 et 9 avant lancement macro (uniquement la ligne 9).

J'ai essayé de comprendre mais le code est bien au delà de mes connaissances...
0
bankal Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   > bankal Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
Je ne suis pas sûr que la date soit bien celle qui soit la plus grande non plus, par exemple, le n°PDL 107870 affiche le 22/04/2015 après Macro alors qu'un des "doublons" supprimés est du 24/04/2015.
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour

Déjà hier, j'ai eu des trucs curieux où le code répondait n'importe quoi
Toutes les analyses poussées n'indiquent pas de malwares (fais de m^me chez toi)
Donc, détruit mon fichier et renvoie moi le tien avec seulement la page "par Pdl"
d'avance merci.
Ps: concernant 107870, est il normal qu'il ne soit pas groupé cat on le retrouve lignes 95, 104,237 ?
0
bankal Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Pas de malware de mon côté...
Pour ce qui est du 107870, après lancement de la macro je n'ai plus qu'une seule ligne ( ce qui est normal) mais les sommes en quantité souhaité et demandé ne se font pas, et la date est au 22/04/2015 et non pas au 24 comme ça devrait être le cas...

Je te joint mon fichier :
https://www.cjoint.com/c/EEskhPyJLTV

Merci
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
OK, bien teçu
Mais guère de temps en début de cette semaine
0
bankal Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   > michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention  
 
Je ne comprends pas bien le fonctionnement des "mises en mémoire" dans ton code, du coup j'ai essayé avec des boucles mais je n'y arrive pas mieux...
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour,
Je fais des derniers essais car la véritable vach#### est que des concaténations égales sont dispersées dans la liste de plus de 1000 lignes ...
Quelle est la logique de ton système d'information? pourquoi ne pas l'avoir signalé au départ ? D'ailleurs, tu n'as pas répondu au post 14
D'autre part, j'ai limité la recherche aux dates livrables remplies (aucune info de ta part)
j'ai donc été obligé de reprende à zéro la partie "traitement du code"
et comme c'est piégé, j'avance à petit pas....

sur des grands tableaux,les "mises en mémoire" permettent d'éviter les AR entre la RAM et l'écran particulièrement chronophages et gourmands en mémoire. d'ailleurs c'est aussi pour limiter l'encombrement en mémoire que j'ai scindé en plusieurs tableaux... mais il ya forcément l'emploi de boucles!
0
bankal Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,


Cette base de donnée est le résultat d'une requête et si on retrouve des lignes égales cela à du sens (d'où la somme des quantités) car cela veut dire que le fournisseur a envoyé les commandes en plusieurs fois.

Pour ce qui est des dates, l'idéal serait que cela prenne tout le tableau (avec et sans les dates remplies) en compte et que la concaténation n'affiche rien si toutes les lignes issues de la concaténation sont vides.

J'ai maintenant (un peu) conscience du boulot que ça représente, j'étais loin d'imaginer ça...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
MERCI !...

de rien
0
bankal Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Michel,

J'étais off ces deux derniers jours, je viens de tester la macro, c'est tout simplement génial!

Un merci infini pour l'aide énorme que vous m'avez apporté et pour le temps que vous y avez passé ('autant plus que la demande n'était pas claire).

Donc encore une fois, MERCI!!!
0