Regroupement de données

Bonjour à tous,

Avant tout, je remercie les gens qui prendront le temps de lire ce post et qui j'espère pourront m'aider à réaliser une macro en code vba pour atteindre le résultat souhaité.

Mon problème est le suivant :

J'ai un fichier de données (onglet données brutes) qui est exportée depuis une application et je souhaite faire un regroupement afin d'avoir un résultat comme dans l'onglet résultats à obtenir.

Tout d'abord, il faut faire un regroupement par la colonne référence (il peut y a voir plusieurs lignes avec cette référence)

Pour une référence, je peux avoir plusieurs documents associés à cette référence.

Pour chaque document, j'ai trois colonnnes de données, soit le nombre de jour, le type de prestation et le prix.

L'idée du regroupement est le suivant :

  • Avoir une ligne par référence
  • Avoir une colonne qui concatène les différents documents associés
  • Avoir une colonne qui cumul le nombre de jour de chaque document
  • Avoir une colonne par type de prestation qui indique le prix de ma prestation trouvé dans mon document. A noter qu'iIl peut y en avoir une bonne dizaine de type de prestation, donc si c'est possible de créer les colonnes dynamiquement ce serait vraiment le top.
  • Avoir un montant total prestation qui affiche la somme de l'ensemble des types de prestation

Par la suite, je devrai faire des tableaux et ainsi de suite.

J'ai des milliers de lignes à gérer, donc il me faudrait vraiment ce ptit programme.

Je joins un exemple du problème et du résultat souhaité.

D'avance je vous remercie pour votre aide !

28donnees.xlsx (8.90 Ko)

Bonjour

Quelque chose m’échappe dans ton exemple.

Sur les 3 premières lignes de tes données brutes , tu as les mêmes valeurs (document 10112)

On retrouve ces valeurs sur la première ligne du résultat à obtenir.

On peut donc penser qu’on ne doit pas répéter des lignes identiques.

Mais si on regarde les lignes 7 et 8 des données brutes, (document 10115) elles sont elles aussi strictement identiques.

Pourtant, sur la feuille de résultats, on les retrouve sur la ligne de référence 3 mais ,pour le type de prestation D, il n’y a pas la valeur de 50, comme sur les 2 lignes correspondantes des données brutes mais 100, somme des deux.

Quelle est la différence de traitement entre les documents 10112 et 10115 ?

Je ne sais pas comment faire.

A te lire


Et j'avais oublié : Bienvenue sur le forum

A te lire

Bonjour,

Effectivement, c'est une erreur dans mon doument.

Si les documents sont les mêmes pour une même référence donnée, on ne doit pas cumuler les montants.

Merci pour votre aide.

Re Bonjour

Alors voilà mon essai.

A tester

Bye !

28donnees.xlsm (20.36 Ko)

Bonjour,

Merci pour votre réponse.

Je vous transmets ci-joint mon document où j'ai intégré votre code..

L'idée est la suivante :

Depuis ma feuille "Menu", je dois télécharger un fichier XML.

Le résultat de l'importation se trouve dans la feuille "Données Factures".

Jusque-là tout est ok.

Une fois le fichier XML chargé, je dois faire le regoupement discuté avec le code que vous m'avez fournis.

Ce que j'aimerais, c'est que dès que l'utilisateur a sélectionnée le XML, tout doit se créer automatiquement sans qu'il doive faire un nouveau clique.

En fait, il faudrait implémenter votre code dans la fonction du Module 1 appelé "BillRegroupement"..

Il faut récupérer les données contenues dans quelques colonnes dans le fichier "Données Factures" puis implémenter votre code..

Pouvez-vous m'aider ? J'ai quelques soucis..

De plus, je dois également récupérer la colonne "Commune".

Hors il peut y avoir trois lignes par prestations comme vous le savez. Et la commune est indiquée sur une seule de ces lignes.

Comment puis-je faire ?

Merci d'avance pour votre aide précieuse

20donnees.xlsm (37.60 Ko)

Bonjour

Pour qu’on soit bien d’accord, j’aimerais que tu me confirmes.

Est-ce bien en colonne F que l’on retrouve Référence qui était en colonne A sur le document d’essai ?

Et en colonne D que l’on retrouve « Document » qui était en colonne B ?

Et en colonne Q que l’on retrouve le nombre de jours qui était en colonne C ?

Et en colonne CS que l’on retrouve le prix qui était en colonne E ?

Et puis dis-moi où je dois prendre le type de prestation qui était en colonne D.

A te lire

Est-ce bien en colonne F que l’on retrouve Référence qui était en colonne A sur le document d’essai ?

--> Oui

Et en colonne D que l’on retrouve « Document » qui était en colonne B ?

--> Oui

Et en colonne Q que l’on retrouve le nombre de jours qui était en colonne C ?

--> Oui

Et en colonne CS que l’on retrouve le prix qui était en colonne E ?

--> Non il s'agit de la colone CG "somme"

Et puis dis-moi où je dois prendre le type de prestation qui était en colonne D.

--> Tous les types de prestations se trouvent dans la colonne BX "Catégorie_de_prestation"

Peut-être que l'ordre des colonnes pourra changer à l'avenir.

L'idée est de récupérer les valeurs des colonnes en fonction du nom de la colonne, par ex : "Catégorie_de_prestation"

Et comme mentionné précédemment, je dois également récupérer la colonne BD "Commune".

Toutefois, il peut y avoir trois lignes par prestations comme vous le savez. Et la commune est indiquée sur une seule de ces lignes.

Merci pour votre aide

Bonjour

Tu écris :

Il peut y avoir trois lignes par prestations comme vous le savez.

Non, ça je ne sais pas. Et je ne comprends même pas ce que tu veux dire…

Ton « vrai » tableau ne comporte que 6 lignes, sur des milliers que tu dis.

C’est trop peu pour me faire une philosophie.

Par ailleurs tu ne me donnes aucune indication quant au regroupement que tu veux faire en incluant les communes que tu veux récupérer.

Il faudrait un exemple,( sans erreur) avec tous les cas possibles car ce n’est pas facile et je n’ai pas envie de reprendre plusieurs fois mon travail.

A te lire

Bonjour,

Désolé pour la réponse tardive et merci pour votre message.

Pour un numéro de prestations, il peut y avoir plusieurs lignes (comme dans l'exemple), raison pour laquelle je dois faire un regroupement.

Pour la colonne "commune", et comme il y peut avoir plusieurs par prestation, la commune est renseignée uniquement sur une ligne et non sur toute. Je dois donc récupérer au moins une fois le nom de la commune.

Voici un nouvel exemple avec plus de données et le résultat attendu.

En espérant que mes explications sont désormais plus claires pour vous.

Merci pour votre aide.

32donnees.xlsm (49.87 Ko)

Qui peut m'aider ??

D'avance merci pour votre aide précieuse..

Rechercher des sujets similaires à "regroupement donnees"