Trouver le nom d'une colonne et reporter les erreurs dans un tableau de bord

Bonjour à tous,

Dans le cadre d’un comparatif entre 2 tableaux, j’aimerais trouver une formule pour obtenir le nom de la colonne qui contient une erreur, ainsi que le nom de la personne. Et ainsi l’afficher sur le tableau de bord. Le but étant que dès lors que j’ai collé mes 2 tableaux, Excel calcule automatiquement s’il y a une erreur et qu’il la reporte sur le tableau de bord. Le résultat correct est 0, tout autre chiffre est un écart et donc une erreur qu’il faudra que je corrige. Le but étant que je n’ai plus besoin de fouiller mon tableau, du fait que j’ai le résultat instantanément sur mon tableau de bord

GTN V24.xlsm (230,8 Ko)

Ayant un peu cherché, j’ai trouvé une formule avec INDEX et EQUIV, sauf pour certains ça m’affiche bien le nom de la colonne, pour d’autres #N/A. Et ce alors même qu’il y a un écart (affiché en rouge). C’est également vrai pour la catégorie et le numéro de compte

Si la formule fonctionnait correctement, elle aurait dû afficher en cellule BN11 : « CSG-CRDS totally non-deductible EE ». BO11 et BP11 sont exacts.

Ceci du fait qu’il y a un écart de 67.90. Or là, la cellule m’affiche #N/A. Et j’ai ce genre de problème sur tout mon tableau.

Je sollicite donc votre expertise, pour savoir si quelqu’un peut m’aider :

  • à trouver la formule qui me permettrait d’avoir le bon résultat, au lieu de #N/A

Ce qui devrait donner ça si ça fonctionnait bien :

  • faire en sorte que Excel reporte matricule-nom-montant-compte-element code, dans la bonne catégorie (« employee payments », « employer deductions » ou « employee deductions ») de la feuille « Tableau de bord ».

Ce qui devrait donner ça pour la première ligne si ça fonctionnait bien :

excel2

Mon fichier est en pièces jointes. Merci pour l’aide que vous m’apporterez. Au secours Obi-Wan Kenobi, vous êtes mon seul espoir! :smiley:

Bonjour

Ton souci vient du fait que la valeur recherchée en colonne « BM » n’est pas celle à l’affichage
Si tu prends par exemple la valeur de la cellule « BM11 » à l’affichage c’est 67,90 mais la valeur réelle est « 67,8999999999996 »
A l’affichage c’est cette dernière corrigée par le format de la cellule (format nombre avec 2 décimale)
Donc à l’écran on ne voit pas « 67,8999999999996 » mais 67,90 conformément au format souhaité de la cellule
Or une formule utilise une donnée réelle et non celle obtenue par son format à l’affichage

J’ai corrigé son calcul pour la cellule « BM11 » au lieu de « BK11-BL11 » j’ai intégré « ARRONDI((BK11-BL11);2) » afin que la donnée réelle soit 67,90 et non « 67,8999999999996 »
Et bingo en colonne « BN » le résultat pour toute les lignes dont la valeur colonne « BM » est existante ligne 11 colonne « A » à « BG » est au rendez-vous
Regardes et dis moi

GTN V24.xlsm (223,8 Ko)

Ah d’accord je comprends. Merci pour ta réponse rapide.

Néanmoins ça devrait afficher dans la case BN11 « CSG-CRDS totally non-deductible EE », puisque c’est la colonne ou se trouve le montant de la case BM11. Or, là ça m’affiche « Health insurance EE » dont le montant est de 47.70

Bonjour à tous
pour la formule
=INDEX($E$6:$BG$6;1;EQUIV(BM11;$A$11:$BG$11;0))
Si l’index commence à la colonne « E »
l’Equiv doit commencer pareil et non à « A »

=INDEX($E$6:$BG$6;1;EQUIV(BM11;$E$11:$BG$11;0))

Pour celà il faudrait exactement la même plage de référence dans ta fonction « EQUIV » et « INDEX »
L’une la plage utilisée est de la colonne « A » à « BG » l’autre de la colonne « E » à « BG »
Exemple pour la cellule « BN11 » sa formule :

« =INDEX($E$6:$BG$6;1;EQUIV(BM11;$A$11:$BG$11;0)) »

INDEX utilise $E$6 à $BG$6 soit colonne « E » à « BG » ligne 6
EQUIV utilise $A$11 à $BG$11 soit colonne « A » à « BG » ligne 11

Tu ne peux pas obtenir la donnée dans la même colonne avec ces 2 plages il faut qu’elles soient identiques
Donc mettre par exemple comme ceci pour cette cellule :

« =INDEX($E$6:$BG$6;1;EQUIV(BM11;$E$11:$BG$11;0)) »

en utilisant la même plage de colonne « E » à « BG » l’une avec la ligne 6 l’autre avec la ligne 11

Sinon comme ceci :

« =INDEX($A$6:$BG$6;1;EQUIV(BM11;$A$11:$BG$11;0)) »

en utilisant la même plage de colonne « A » à « BG » l’une avec la ligne 6 l’autre avec la ligne 11

A toi de choisir

Essaies ainsi et dis moi

Oh purée les gars vous êtes d’un autre monde! Ça marche au top! Merci à vous!

« =INDEX($E$6:$BG$6;1;EQUIV(BM11;$E$11:$BG$11;0)) »

Deuxième partie de la question :

Comment je peux faire pour que dans mon tableau de bord (que je vais peut être revoir du coup), s’affiche les erreurs. C’est à dire si dans la colonne « écart » j’ai un autre chiffre que « 0 », il doit m’afficher sur le tableau de bord, le nom de la personne, le montant de l’écart, le compte, la catégorie et le numéro de compte

Vous êtes les meilleurs

Merci pour ce retour

« C’est à dire si dans la colonne « écart » j’ai un autre chiffre que « 0 », il doit m’afficher sur le tableau de bord, le nom de la personne, le montant de l’écart, le compte, la catégorie et le numéro de compte »

N’est ce pas ce que tu as dans ce tableau :

A part le nom de la personne toutes ces rubriques y figurent

Me trompe-je ???

Pour le nom de la personne est-ce celui en colonne « B » de la même ligne ? à mettre dans une colonne supplémentaire à la suite ?

Merci pour toutes ces précisions

C’est tout à fait ce que j’ai dans ce tableau. Mais il se trouve tout au bout d’un tableau de données. Par conséquent j’ai créé un onglet, nommé « tableau de bord » qui va récapituler les écarts s’il y en a, en les plaçant dans la bonne catégorie. Soit « Employee Payments », soit « Employee Deductions », soit « Employer Deductions ».

Du coup il sera très facile et rapide de corriger l’erreur dans notre logiciel car on saura très vite ou chercher

Pour le nom de la personne en effet c’est celui en colonne « B ». Mais le tout ce que ça finisse à l’accueil sur le tableau de bord. Comme ça on n’a pas à fouiller toutes les données

Je ne sais pas si c’est intelligible ce que j’ai dit… :smiley:

Je ne sais pas si on peut faire ce tableau ailleurs, car j’ai remarqué que quand je dois faire des formules en naviguant dans les feuilles, j’ai très souvent des erreurs… C’est pour ça que je l’ai fait ici

Ci-joint une solution par formule
Celle-ci reprend les résultats du tableau onglet « Sheet1 » mais sans les répartir par type d’employé
Avec le filtre d Excel sur la colonne concernée tu peux par type n’afficher que les enregistrements en rapport

Si ce tri est indispensable je te propose une solution par VBA à activer par un bouton
Pour chaque activation un nettoyage de cet onglet sera réalisé avec réintégration de toutes données et ce triées par type d’employé

A toi de dire

La version formule ci-joint non trié

GTN V24.xlsm (224,5 Ko)

C’est presque ça

Déjà je m’aperçois que mon tableau de bord est mal fait au départ. Je l’ai modifié, ce sera peut être plus parlant. En gros si dans la colonne des écarts, il y a un écart, alors les éléments que j’ai décrit précédemment doivent apparaitre sur le tableau de bord dans la bonne catégorie (Employee Payments, Employer Deductions, Employee deductions) que j’ai mis en couleur violette, orange ou bleue pour plus de visibilité. S’il n’y a pas d’écart alors il n’y a rien. Par exemple pour Emma Babault, il y a un écart dans le compte CRDS, ce compte là c’est du « Employee Payments » et en « code element » ce sera toujours commençant par DF, Employer Deductions c’est que du EF et Employee deductions c’est que CF. Si je simule ça donnerait quelque chose comme ça :

Je préfèrerais qu’il n’y ait pas de VBA, parce que tout est bloqué au travail. Mais si on ne peut pas faire autrement, il faudra que j’insère le bon code directement depuis mon poste de travail. Qu’en penses-tu?

GTN V24 (2).xlsm (226,2 Ko)

Est ce que ma proposition par formule répond à ton besoin ?
Dans la negative que manque t’il ou que faut il modifier ?

Merci de me dire

Par formule c’est parfait! Il ne manque plus que le tri par catégorie. C’est à dire que si c’est du « employer deductions » que ça se mette au centre dans la partie orange et pas dans les autres parties

Par formule le tri n’est pas possible
Tu peux utiliser le filtre d excel sur la colonne correspondante et selectionner par catégorie les enregistrements qui correspondent

Sinon un tableau par catégorie chacun ne récupérant que les siens donc au lieu d un tableau trois tableau avec dans chacun ses enregistrements

Ou VBA

Pas d autre solution

A toi de voir et choisir

A ce moment-là VBA stp

Avec un bouton pour le déclenchement ?
L ordre doit’il être celui intégré dans l onglet ?
Un autre peut il convenir l essentiel étant celui du regroupement par catégorie ?

Merci pour ces précisions

Oui un bouton de déclenchement qui serait dans l’onglet Tableau de bord. L’essentiel c’est le rangement par catégorie. Je te remercie beaucoup

Tu ne m’as pas répondu pour l’ordre
Doit’il impérativement respecté celui-ci :

Ou un ordre quelconque peut convenir dans la mesure où les enregistrements sont bien regroupés en fonction de leur catégorie dans chacun d’eux
Cette deuxième option est plus simple à mettre en oeuvre mais te convient-elle ???

L’ordre c’est 1 Employee payments, 2 employer deductions et 3 employee deductions. Du reste j’ai changé la disposition dans le dernier document que je t’ai envoyé, pour qu’on puisse en mettre autant que nécessaire

Oui ça me convient très bien :slight_smile:

Donc un ordre aleatoire qui ne respecte pas celui que tu viens de definir est à proscrire seule celui decrit doit être mis en place
C est bien ton souhait ?

Si j’ai bien compris, c’est ça :slight_smile: