Besoin d'une formule pour résoudre un tableau

EnzoC

XLDnaute Nouveau
1698591504015.png


Bonjour à tous,

J'ai un problème dont j'arrive pas à trouver la solution donc je sollicite votre aide. Je cherche à lire un tableau.

J'ai réussi la première étape qui consistait a savoir si une information était contenu dans la colonne F et dans la colonne I. Maintenant j'aimerais regrouper ces données par le nom d'une rubrique contenue en colonne M si c'est salarial ou O si c'est patronal. Ce qui veut dire que le nom doit s'afficher selon trois conditions :

- la première c'est que le oui soit affiché dans la colonne P,

- la seconde c'est que le nom choisi vienne de la colonne M (idéalement ce sera toujours les noms que j'ai mis dans le résultat attendu)

- et la dernière c'est que le nom sera toujours le même tant qu'il fait partie du même groupe en colonne A.

Un groupe c'est tant qu'il y a des données à la suite jusqu'à ce qu'au moins une cellule vide apparaisse. Dès lors c'est un nouveau groupe avec un autre nom et un autre regroupement comme dans l'exemple. Si jamais il n'y a qu'une seule rubrique, ce n'est pas la peine de le grouper comme défini plus haut. Si c'est marqué "oui" mais que la rubrique A est vide, il ne faut pas compter cette ligne dans le groupement

Quelqu'un pourrait-il m'aider svp? Un grand merci pour toute l'aide que vous apporterez. Le fichier exemple est en pièces jointes. Je préfèrerais une formule, mais si c'est un code VBA, je prends aussi
 

Pièces jointes

  • Tableau exemple.xls
    143 KB · Affichages: 9

Dudu2

XLDnaute Barbatruc
Bonjour,
Ça l'est davantage mais reste, pour mes capacités intellectuelles, mystérieux.
Pourquoi ne pas montrer en images:
1 - Ce qui ne te satisfait pas
2 - Ce que tu voudrais obtenir
Fut-ce sur un exemple raccourci / synthétique.
 

EnzoC

XLDnaute Nouveau
Je l'ai mis sur l'image et dans le fichier joint : "Résultat attendu". Colonne S et T, les dernières à droite sur l'image. C'est ça que j'aimerais obtenir :) Soit par une formule, soit par un code VBA. Moi ce que j'obtiens c'est le nom de la rubrique pour toute les cellules ou il y a oui, sans distinction du bloc de la colonne A, ce qui ne va pas... Ce que je veux, c'est ce qu'il y a dans l'image :)
 

Dudu2

XLDnaute Barbatruc
Quelle est la logique qui relie la valeur de la cellule I4 (par exemple car en Q4 formule =SI(I4="";"";"Oui")) au libellé Vieillesse déplafonnée ER ?

Quelle est la logique qui relie la valeur de la cellule F6 (par exemple car en P6 formule =SI(F6="";"";"Oui")) au libellé Vieillesse déplafonnée EE ?
 
Dernière édition:

EnzoC

XLDnaute Nouveau
Quelle est la logique qui relie la valeur de la cellule I4 (par exemple car en Q4 formule =SI(I4="";"";"Oui")) au libellé Vieillesse déplafonnée ER ?

Quelle est la logique qui relie la valeur de la cellule F6 (par exemple car en P6 formule =SI(F6="";"";"Oui")) au libellé Vieillesse déplafonnée EE ?
Puisque l'idée c'est de "lire" le tableau, dès lors que dans la colonne I (patronal) il y a un montant, alors le libellé (colonne B) est retenu. Maintenant plutôt que de se retrouver avec plein de libellé différent, j'en met qu'un seul par soucis de lecture et le plus représentatif c'est "vieillesse déplafonnée". Après si c'en est un autre qui est choisi aléatoirement ça me va aussi. Sur le même principe j'utilise dans un tableau la formule suivante : =SI(NB.SI([column order];[@[column order]])>1;INDEX([Client payroll element name];EQUIV([@[column order]];[column order];0));"")

Du coup il me groupe bien en choisissant un libéllé aléatoirement dans la colonne "Client payroll element name", à partir du moment ou dans la colonne "column order" il y a exactement le même chiffre. Mais dès lors qu'il faut remplacer les noms par autre chose et que le critère n'est plus le même chiffre mais le contenu de la colonne A, ça ne marche plus... :(

Pour F6 et P6 c'est la même logique. Concernant la colonne M elle reprend les noms des libellés avec en plus au bout "EE" pour salarial, et "ER" pour patronal, autrement mon logiciel de paie ne fera pas la distinction
 

Dudu2

XLDnaute Barbatruc
Puisque l'idée c'est de "lire" le tableau, dès lors que dans la colonne I (patronal) il y a un montant, alors le libellé (colonne B) est retenu. Maintenant plutôt que de se retrouver avec plein de libellé différent, j'en met qu'un seul par soucis de lecture et le plus représentatif c'est "vieillesse déplafonnée"
Où est défini le lien entre le "plein de libellés différents" et "vieillesse déplafonnée" ?
Uniquement dans ton esprit ? Ou il y a un tableau qui le fait ?

Après si c'en est un autre qui est choisi aléatoirement ça me va aussi. Sur le même principe j'utilise dans un tableau la formule suivante : =SI(NB.SI([column order];[@[column order]])>1;INDEX([Client payroll element name];EQUIV([@[column order]];[column order];0));"")
Ça j'ai pas compris et la formule me donne mal à la tête. Mais je pense que ce n'est pas important.
 

Dudu2

XLDnaute Barbatruc
Il faut que tu créées une liste de référence pour ce qui correspond à tes grandes rubriques. Y a pas de magie.
Je n'ai fait que reprendre ce qu'il y a dans ta feuille en $L$1 et en $L$2 mais je pense qu'il y a d'autres codes que tu dois savoir gérer et placer où il faut (en chaine ou en tableau) pour que les formules puissent y faire référence comme je l'ai fait de manière basique sur $L$1 et $L$2 avec CHERCHER.

Comme je suppose que la liste des codes est longue, il faut la mettre en tableau et remplacer les CHERCHER par des EQUIV.

1698695758134.png
 

Pièces jointes

  • Tableau exemple.xls
    185.5 KB · Affichages: 2
Dernière édition:

EnzoC

XLDnaute Nouveau
1698745424692.png

Où est défini le lien entre le "plein de libellés différents" et "vieillesse déplafonnée" ?
Uniquement dans ton esprit ? Ou il y a un tableau qui le fait ?


Ça j'ai pas compris et la formule me donne mal à la tête. Mais je pense que ce n'est pas important.
Quand tu regardes comme ça le résultat que tu obtiens, tu as plein de libellés différents pour la partie salariale (ou c'est marqué "Oui") :

- Vieillesse déplafonnée EE
- Vieillesse plafonnée EE
- CSG déductible EE
- CSG non déductible et CRDS EE
- URSSAF d'Ile de France EE

Maintenant plutôt que d'en afficher plusieurs qui en plus ne sont pas toujours les mêmes partout, je préfère afficher "Vieillesse déplafonnée" qui est l'un des seuls qui apparaitra toujours quand j'aurais ce tableau à traiter.

J'ai fait le test avec un autre tableau et ça fonctionne du feu de dieu! Un grand merci
 

Dudu2

XLDnaute Barbatruc
J'ai fait le test avec un autre tableau et ça fonctionne du feu de dieu!
Ok tant mieux, mais fait attention.
Les codes des rubriques que j'ai placées en $L$1 et $L$2 sont issues de ton tableau qui n'a pas forcément tous les codes potentiellement existant qu'un service administratif de paie devrait te fournir.

Si tu reçois un autre tableau avec des codes non répertoriés en $L$1 et $L$2, ça ne marchera pas !

C'est pour ça qu'il faudrait collecter tous les codes existants, les mettre en tableau plutôt qu'en chaine en $L$1 et $L$2 et adapter la formule.
 

Discussions similaires

Statistiques des forums

Discussions
312 207
Messages
2 086 250
Membres
103 165
dernier inscrit
thithithi78