Lire un tableau pour remplir une feuille de frais

bonjour à tous et à toutes

voila, je suis un utilisateur d'excel 07, mais je ne l'utilise qu'au minimum de son potentiel.

cependant, le document sur lequel je travail le plus, c'est mes feuilles de frais de déplacements.

Mais j'y passe des heures à retranscrire les kilomètres d'un point à à un point b, et cela me soul méchamment.

Je cherche depuis des semaines à faire en sorte que ce soit fait automatiquement, seul soucis, plusieurs critères sont à prendre en compte. Je n'ai qu'une très faible expérience de ce programme, dont les termes et infini possibilités s'embrouille dans ma tête.

Je vais déjà vous présenter mes tableaux afin de mieux pouvoir vous expliquer ce que je souhaite faire:

mon tableau de feuilles de frais: [frais]

53164981 p

Mon tableau de rapport kilométrique: [km]

53164308 p

bien sur, selon la possibilité de ce qu'il sera possible de faire, je reverrai surement la mise en forme de la présentation.

Tout le travail devra se continuer sur la ligne sur laquelle on aura commencer à remplir les cellules, on travaillera donc sur la ligne [frais] 32. (les précédentes lignes étant pré-remplies des noms des villes pour une saisie automatique des noms)

Les premières cases à compléter, colonne [frais] H et I, représentent les point de départ et d'arrivée du déplacement. Je souhaite donc que cela lise le résultat [km] ligne, point de départ; et colonne, point d'arrivée et retranscris le résultat dans la colonne [frais] M

Des critères rentreront en compte:

  • les colonnes [frais] J et K, que je remplis généralement en mettant dans l'une, un "a" ou/et dans l'autre un "r", pour préciser si il s'agit d'un aller ou d'un retour ou des deux. si le deux case sont remplis, cela multiplierai [frais] M par 2.
  • La colonne [frais] L, concernant le mode de transport, lui serait la clé qui déciderait quel tableau lire car le tableau ci dessus représente les transport par route: voiture, bus, taxi.
Si l'un de ses trois critères est sélectionné, la lecture par défaut se ferai sur le tableau de km routiers

Cependant nous mettons aussi les km effectués en train, si c'est celui ci de sélectionné dans [frais] L cela lirai donc un autre tableau de même présentation.

Voila, je pense avoir expliqué clairement ce que j'essaie de faire en vain depuis longtemps.

j'espère que la complexité de ce que je souhaite faire ne soit pas le fruit de résultat jamais atteints.

Je vous remercie à l'avance de l'aide que vous pourrez m'apporter.

Cordialement.

Bonjour jim et bienvenue,

Peux-tu nous joindre de préférence ton (ou tes) fichiers Excel.

Car une image est difficilement exploitable (et difficilement lisible dans le cas présent).

Le cas échéant, tu complètes manuellement quelques cellules en nous mettant un petit bout de commentaire.

A te (re)lire

@+

Bonjour,

la question n'est pas très précise mais à priori on sera sur des fonctions index() equiv() recherchev() pour repérer dans le tableau de kilométrage les distances entre deux villes et afficher la distance dans le tableau de NDFrais

le plus long c'est de saisir les infos donc --> un classeur d'exemple

cordialement

voici donc les fichiers

la feuille de frais

4553178070.zip (6.97 Ko)

les kms

5653177632.xlsx (10.73 Ko)

Bonjour,

voici ma proposition pour remplir ton tableau de frais

en espérant que cela conviendra

cordialement

89953177632.xlsx (19.10 Ko)
1'34653177813.zip (13.71 Ko)

pfiou alors la je dis chapeau, je n'aurais jamais été capable de créer des formules tels quels,

je suis épaté.

merci beaucoup

je vais maintenant étudier ceci avec la plus extrême attention afin de le faire également pour les trains, j'essairai de traduire la facon dont tu t'y es pris.

mais franchement je suis énormément reconnaissant.

merci

bonsoir

pour s'y retrouver dans cette formule

le si() et le ou() servent à tester si l'utilisateur à rempli la cellule départ ou arrivée si l'une ou l'autre n'est pas remplie aucune recherche ne se fait et le kilométrage est à 0

ensuite, la recherche doit se faire sur 2 axes, ville de départ et d'arrivée

pour la recherche générale --> index() fonction de type recherche/matrice

index(un tableau; n°ligne; n°colonne) et renvoit la valeur se trouvant à l'intersection des 2

pour la ligne et la colonne on doit rechercher une ville et trouver le numéro de la ligne et de la colonne ou elles se trouve dans la colonne et la ligne correspondante - donc 2 equiv

exemple pour la ville de départ

la fonction equiv() sert à ça --> equiv (valeur cherchée;colonne dans laquelle on cherche;0) le 0 ou faux indique que ta valeur existe de manière certaine dans la colonne sinon valeur approchée si valeur numérique

on lui donne une valeur à chercher dans une liste de valeur (ta colonne H) dans une colonne (la colonne A de ton tableau kilométrique) et on indique par le 0/faux que la ville cherchée (h) est bien dans la colonne A

equiv renvoit le numéro de la ligne ou se trouve la ville et c'est bien ce qu'attend index()

même chose pour trouver la ville d'arrivée

le tout est multiplié par nbval() qui compte le nombre de valeur dans la plage aller/retour

est-ce clair ? sinon je t'enverrai un exemple plus simple pour mieux comprendre

très cordialement

-- 16 Mai 2010, 21:58 --

bonsoir

pour s'y retrouver dans cette formule

le si() et le ou() servent à tester si l'utilisateur à rempli la cellule départ ou arrivée si l'une ou l'autre n'est pas remplie aucune recherche ne se fait et le kilométrage est à 0

ensuite, la recherche doit se faire sur 2 axes, ville de départ et d'arrivée

pour la recherche générale --> index() fonction de type recherche/matrice

index(un tableau; n°ligne; n°colonne) et renvoit la valeur se trouvant à l'intersection des 2

pour la ligne et la colonne on doit rechercher une ville et trouver le numéro de la ligne et de la colonne ou elles se trouve dans la colonne et la ligne correspondante - donc 2 equiv

exemple pour la ville de départ

la fonction equiv() sert à ça --> equiv (valeur cherchée;colonne dans laquelle on cherche;0) le 0 ou faux indique que ta valeur existe de manière certaine dans la colonne sinon valeur approchée si valeur numérique

on lui donne une valeur à chercher dans une liste de valeur (ta colonne H) dans une colonne (la colonne A de ton tableau kilométrique) et on indique par le 0/faux que la ville cherchée (h) est bien dans la colonne A

equiv renvoit le numéro de la ligne ou se trouve la ville et c'est bien ce qu'attend index()

même chose pour trouver la ville d'arrivée

le tout est multiplié par nbval() qui compte le nombre de valeur dans la plage aller/retour

est-ce clair ? sinon je t'enverrai un exemple plus simple pour mieux comprendre

très cordialement

j'ai relu ton explication en contrôlant en même temps la formule écrite.

j'ai a peu près bien compris ce que tu m'as expliqué, j'ai réussi à la refaire en ayant les deux tableaux dans le même classeur. (le nom de la feuille des km route est "route", je précise pour la suite)

c'est maintenant un problème d'ordre de répétition de la formule dans les lignes suivantes qui me pose problème, j'ai essayé plusieurs collage différents, il me change bien:

ligne 32: =SI(OU(H32="";I32) .......

collage ligne 33: =SI(OU(H33="";I33)........, et y compris mes cellules de NBVAL,

mais malheureusement aussi:

ligne 32: EQUIV(H32;route!A1:A19);....... ( également pour l'EQUIV(I32;.....)

collage ligne 33 me donne: EQUIV(H33; route!A2;A20);.... (également pour l'EQUIV(I33;......)

je ne trouve pas la manipulation pour que le recopiage ne change pas cette parti de la formule, sinon il faudrait refaire toutes les écritures pour chaque cases au pire.

j'en demande trop , excuse moi , mais fut un temps ou j'arrivais a m'y retrouver dans le programme mais cela fait longtemps que je n'ai plus le temps de m'y consacrer et je me perds.

pour te dire sur la feuille de frais, j'avais réussi à faire une liste déroulante de choix (M) et la impossible de refaire la même, c'est idiot je sais, mais quand je veux la remettre sur des cellules, ca ne marche pas, mais ca c'est pas grave, je trouverais.

encore merci

cordialement

Bonjour,

voici un fichier que j'ai fait pour les collègues. Peut-être te sera-t-il utile.

Amicalement,

Elfi

Bonsoir,

dans ces formules de recherche dans les matrices (tableaux) il faut indiquer à excel que l'on doit chercher

toujours dans le même tableau et donc utiliser des références absolues de type $a$1:$g$100. le mieux reste de nommer la plage. selection de la plage puis cliquer dans la zone de nom, taper un nom et touche entrée. ensuite on mets le nom défini dans la formule. une plage nommée est en référénce absolue par défaut. et les formules sont aussi plus claires

de cette manière on recopie les formules sans que la plage soit décalée

cordialement

bonjour

a partir de tout ca, j'ai réussi a refaire un autre tableau dans le même style.

par contre une chose que je n'arrive pas a trouver, est-il possible de cacher ce 0 qui s'affiche tant que les critères des cases précédentes sont vides?

merci a tous

Rechercher des sujets similaires à "lire tableau remplir feuille frais"