Macro pour trier des données et exporter vers 2 endroits différents

bill

XLDnaute Nouveau
Bonjour,

J'ai cherché une réponse sur différents forums, mais je n'ai pas trouvé de solutions. Donc je me tourne vers vous !!
Voilà, j'ai une feuille qui récupère des données pour alimenter une autre feuille. Je souhaiterais trier les données et exporter le résultat dans deux tableaux différents situés sur une autre feuille.
Mon problème est que je n'arrive pas à trouver comment faire ? J'ai déjà essayé un filtre élaboré mais comme la destination n'est pas la même cela ne fonctionne pas . Avec une macro peut être , le problème étant que je n'arrive pas à créer de macro car je n'y connais pas grand-chose.
Je mets un fichier joint pour mieux comprendre.

Merci d'avance
 

Modeste

XLDnaute Barbatruc
Re : Macro pour trier des données et exporter vers 2 endroits différents

Bonjour bill,

Créer une macro, sans y connaître grand chose, comme tu le dis, risque d'être laborieux (même si je ne connais pas tes compétences)

Une solution existe par formule, mais il s'agira de formules matricielles. Celles-ci peuvent devenir gourmandes en ressources et temps de recalcul, notamment sur de grands volumes de données. Je te propose donc, en annexe, un début de solution à tester soigneusement.
Comme les données dans la feuille extraction semblaient se limiter à une soixantaine de lignes, ça reste tout à fait gérable. Il faudrait que tu détermines le nombre total de lignes dont tu disposerais en réalité.
De même, les dimensions des 2 tableaux en feuille Fournisseurs sont-elles susceptibles de varier beaucoup?

Bref, examine les formule dans le tableau PRELEVEMENTS uniquement:
- une formule unique pour la plage de A18 à B33
- une seconde formule pour la plage C18:F33

... Le tout, sous réserve que j'aie bien compris!

PS: attention, il reste des liens vers ton fichier source, dans la feuille extraction!
 

Pièces jointes

  • MODELE bill.xlsx
    27.7 KB · Affichages: 203

bill

XLDnaute Nouveau
Re : Macro pour trier des données et exporter vers 2 endroits différents

Oui cela correspond à ce que j'attend !! Non les tableaux dans l'onglet founisseurs ne varient pas beaucoup.
Par contre pourquoi y a t'il une colonne à côté "colonne E" ?
 

Modeste

XLDnaute Barbatruc
Re : Macro pour trier des données et exporter vers 2 endroits différents

Re-bonjour,

Si tu parles d'une colonne E, dans la feuille Extraction, j'avais copié les données et fait ensuite un collage spécial / valeurs ... au cas où les liens poseraient problème.
Si on parle bien de la même colonne, tu peux la supprimer: elle n'est pas utilisée!
 

bill

XLDnaute Nouveau
Re : Macro pour trier des données et exporter vers 2 endroits différents

Oui effectivement la colonne ne sert à rien je l’ai supprimée !! Par contre, je ne souhaite pas voir apparaître les prélèvements s’ ils sont avant le 01/04/12.
J’ai copié la formule pour les chèques et ça ne marche pas !! il m’enlève le signe avant = et il m’affiche 0 et dans les autres #NOMBRE ! ?
 

Modeste

XLDnaute Barbatruc
Re : Macro pour trier des données et exporter vers 2 endroits différents

Re²,

Par "le signe avant =", tu entends l'accolade?
Si c'est le cas, les formules sont des formules matricielles: il faut donc les valider (à la création ou lors de toute modification) par Ctrl+Shift+Enter C'est cette manipulation qui fera apparaître les accolades autour de tes formules.

Attention que pour le second tableau, si tu copies les formules, il faudra (évidemment) penser à remplacer "PR" par "CH", mais aussi remplacer LIGNES($1:22) par LIGNES($1:1), puis recopier vers le bas et la colonne voisine.

Bonjour Bebere :) la solution proposée me permet de constater que je n'ai pas tenu compte des dates (version corrigée, ci-dessous)
 

Pièces jointes

  • MODELE bill (2).xlsx
    30.1 KB · Affichages: 96
Dernière édition:

bill

XLDnaute Nouveau
Re : Macro pour trier des données et exporter vers 2 endroits différents

Re bonjour,

Je reviens vers vous car j’ai créé de nouveaux onglets avec le même système mais il ne m’affiche pas les montants. Mais quand je change la date à la main, cela s’affiche. Y a-t-il une solution à mon problème ?
Dans les tableaux paiement à recevoir, il faudrait qu’il y ait une autre condition à savoir : si dans la colonne paiement reçu il y a un N il faut le prendre en compte et l’inverse dans les tableaux paiement reçu.
Encore merci.
 

Pièces jointes

  • MODELE.xlsx
    49.3 KB · Affichages: 94
  • MODELE.xlsx
    49.3 KB · Affichages: 93
  • MODELE.xlsx
    49.3 KB · Affichages: 84

Modeste

XLDnaute Barbatruc
Re : Macro pour trier des données et exporter vers 2 endroits différents

Bonjour bill, le forum,

Dans ta feuille Extraction Client, les dates sont considérées comme du texte (pour en avoir confirmation, essaie d'appliquer à la plage B6:B18 un autre format et tu constateras que rien ne change). Comme ces données sont issues d'un lien vers un fichier nommé "[Clients 2011 2012.xls]", difficile de vérifier les manipulations qui permettraient de résoudre le problème.
En faisant un copier-collage spécial, je retrouve une espace devant chaque date!?

On peut évidemment ajouter des DATEVAL et autres "joyeusetés" à la formule, mais ça ne fera que l'alourdir encore. Il vaudrait mieux, me semble-t-il te pencher sur le fichier "source" et trouver de ce côté la source de l'erreur.

... Si aucune solution ne peut être trouvée à ce niveau, il sera toujours temps de modifier les formules! Tu nous diras ce qu'il en est?
 

bill

XLDnaute Nouveau
Re : Macro pour trier des données et exporter vers 2 endroits différents

Comment fait on pour insérer un critère de plus ? sur la colonne E. J'ai essayé celle ci mais ça ne marche pas !!

=SI(NB.SI('Données extraction clients'!$D$6:$D$69;"VR")*ET('Données extraction clients'!$E$6:$E$69;"N")>=LIGNES($1:1);INDEX('Données extraction clients'!$A$6:$C$69;PETITE.VALEUR(SI('Données extraction clients'!$D$6:$D$69="VR";LIGNE('Données extraction clients'!$D$6:$D$69)-5);LIGNES($1:1));COLONNES($A:A));"")
 

Modeste

XLDnaute Barbatruc
Re : Macro pour trier des données et exporter vers 2 endroits différents

Re-bonjour bill,

Sauf erreur, la formule que tu mentionnes ne doit pas être celle de mon dernier fichier: elle devrait commencer par SOMMEPROD au lieu de NB.SI (dans NB.SI, on ne peut pas tester plusieurs conditions. Par contre, tu peux le faire dans SOMMEPROD, en multipliant tes conditions)
D'autre part, dans le fichier de départ, cette formule n'était pas en colonne E, mais en B (m'a fallu du temps pour m'y retrouver!)
Enfin, le problème des dates sous forme de texte ne permet pas de tester de manière approfondie: ceci semble fonctionner chez moi
Code:
=SI(SOMMEPROD(('Données extraction clients'!$D$6:$D$18="VR")*(MOIS(DATEVAL('Données extraction clients'!$B$6:$B$18))=MOIS($C$7))*('Données extraction clients'!$E$6:$E$18="N"))>=LIGNES($1:1);INDEX('Données extraction clients'!$A$6:$C$18;PETITE.VALEUR(SI(('Données extraction clients'!$D$6:$D$18="VR")*(MOIS(DATEVAL('Données extraction clients'!$B$6:$B$18))=MOIS($C$7));LIGNE('Données extraction clients'!$D$6:$D$18)-5);LIGNES($1:1));COLONNES($A:B));"")
... Mais j'ai dû réduire la dimension des plages (lignes 6 à 18) chaque fois!
 

bill

XLDnaute Nouveau
Re : Macro pour trier des données et exporter vers 2 endroits différents

Bonjour,

J'ai travaillé sur le fichier la formule marche, mais rencontre quelque bug je joins le fichier. En fait il ne tient pas compte de la colonne E comme critère pour la première partie et il me décale également toutes les données qui sont en orange pourquoi ? Et comment se fait-il qu'on ne puisse appliquer la formule que sur 18 lignes ?
 

Pièces jointes

  • Modele.xlsx
    28.1 KB · Affichages: 89
  • Modele.xlsx
    28.1 KB · Affichages: 99
  • Modele.xlsx
    28.1 KB · Affichages: 93
Dernière édition:

Modeste

XLDnaute Barbatruc
Re : Macro pour trier des données et exporter vers 2 endroits différents

Bonjour,

Les formules n'étaient appliquées que sur 18 lignes à cause des dates qui n'en étaient pas! Dans le dernier fichier que tu as déposé, ce problème étant réglé, la limite disparaît.

Je t'ai remis les formules (qui me semblent correctes!?) dans la plage A9:F23. Peux-tu t'assurer que tu utiliseras cette dernière mouture dans tes différentes feuilles ... après les avoir consciencieusement testées?
 

Pièces jointes

  • Modele bill (3).xlsx
    36.7 KB · Affichages: 95

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof