Fonction SI + extraction de données

Bonjour à tous,

Je ne suis pas experte en excel et j'ai du mal à trouver les termes à utiliser pour trouver une solution à mon problème par moi-même. C'est pour cela que je vous sollicite !

J'ai joint un tableur dont je me sers quotidiennement pour la gestion de mon association. Je souhaite qu'à partir de ce tableau, je puisse faire des extractions comme l'exemple dans l'onglet 2. Je souhaite ensuite imprimer cette extraction pour chaque personne figurant au tableur (il y a en réalité près de 70 personnes) - là c'est juste une question de sauts de page à mettre en place.

J'imagine qu'il y a une partie à faire manuellement puis une partie à faire avec des fonctions. Je me fiche de devoir prendre beaucoup de temps ou que ce soit compliqué car une fois mis en place, ça me fera économiser des heures et des heures de travail !

Merci mille fois pour votre aide

19test.xlsx (19.61 Ko)

Bonjour,

Tu peux dans un premier temps opter pour un récapitulatif qui prend en compte les données associées au nom de l’employé. Pour cela, pas besoin de macro (voir exemple).

28rebb.xlsx (20.48 Ko)

Ensuite, tu peux automatiser l’impression de toutes les fiches des employés avec une macro.

A+

Bonjour Frangy,

Super merci, c'est ce que je pensais devoir faire mais je me demandais s'il y avait pas un moyen plus "automatisé". Allez c'est parti pour de la saisie

Par contre, j'ai besoin de faire disparaître les cellules vides. Je dois seulement voir apparaître les dates où il a travaillé, et non toutes les dates du mois. Comment puis-je faire ?

Pour faire disparaître les cellules vides, le plus simple c'est d'appliquer un filtre automatique.

Je pense que c'est également possible avec une formule matricielle mais ce n'est pas ma tasse de thé.

Si tu veux une solution plus personnalisée, tu auras sûrement intérêt à passer par VBA. Je n'ai pas voulu te le proposer car cela nécessite une implication plus forte pour maintenir le programme. A toi de voir.

A te lire.

Ok, si c'est plus simple comme ça je préfère largement.

J'essai d'appliquer l'onglet 2 de ton tableur à mon vrai tableur. Quand je le copie colle ça ne fonctionne pas donc j'essai de le reconstituer moi-même. Peux-tu me dire à quoi correspond cette formule :

=INDIRECT("Feuil1!"&ADRESSE(EQUIV($C$2;Feuil1!$A:$A;0);(LIGNE()-6)*4+6))

Je comprend INDIRECT

Je comprend à peu près ADRESSE

Mais je ne comprend pas $A:$A;0

et je ne comprend pas LIGNE()-6

Et le 4+6 ???

Désolée si je demande trop de choses, c'est juste que si je comprend ce que je fais ce sera plus constructif et mieux fait.

Merci pour ton aide

=INDIRECT("Feuil1!"&ADRESSE(EQUIV($C$2;Feuil1!$A:$A;0);(LIGNE()-6)*4+6)) 

Le but est de trouver le salaire qui correspond à la date de la colonne B et à l'employé indiqué en $C$2.

Si je prends pour exemple la date du 2 septembre pour l'employé MARTIN, pour obtenir le salaire correspondant il faut que je place en C7 un équivalent à la formule =Feuil1!J6.

Pour déterminer l'adresse J6, je dois trouver la ligne (6) et la colonne (J).

La ligne correspond à l'employé. Je la détermine avec la formule EQUIV($C$2;Feuil1!$A:$A;0) qui renvoie le numéro de ligne de la cellule de la colonne A de la Feuil1 qui contient le nom Martin Didier, à savoir la ligne n° 6. La colonne est trouvée avec la date. Il faut déterminer la relation entre la cellule B7 de la feuille 2 et la cellule J4 de la feuille 1 sachant qu'à chaque incrémentation de la date en feuille 2 correspond une incrémentation de 4 colonnes en feuille 1.

Je peux écrire que le numéro de colonne en Feuil1 est égal à (numéro de ligne en Feuil2 - 6) * 4 +6.

Ainsi, pour la ligne 7 on obtient : (7 - 6) *4 +6 = 10, soit la colonne J

De même, pour la ligne 8 on obtient : (8 - 6) *4 +6 = 14, soit la colonne N

etc.

A+

Waou, t'expliques super bien un truc assez compliqué !

C'est super clair. Je ne suis plus au bureau (heureusement), mais je vais m'y atteler demain matin. Si j'ai des difficultés je posterais ici, mais je pense qu'avec ton explication ça ira.

Un énorme merci, ça me sauve vraiment !!!

Je n'y arrive pas du tout !

Dans mon vrai fichier la première personne de la liste est en ligne 5, colonne B. Les dates sont en lignes 2, et ont bien 4 colonnes incrémentées en dessous.

J'ai copier/coller le contenu de l'onglet 2 du tableur que tu m'as fourni, dans un second onglet de mon tableur de travail. J'ai pris la case où il y a le nom et j'ai fais validation des données, créer un liste, et sélectionner les noms des personnes de mon fichier de travail (je ne peux pas fusionner des cellules par souci de lisibilité, donc on se basera que sur les noms). Je sélectionne le nom de la personne qui m'intéresse et son nom apparaît. Ensuite ..

Du coup mon tableur c'est

Colonne B : NOMS

Colonne C : Prénoms

Colonne D : profession

La première personne commence à la ligne 5 comme dit précédemment, et la première date colonne F/G/H/I (fusionné pour le nom de la date).

Voici la formule que je met dans l'onglet deux dans la case de la première date :

=INDIRECT("Feuil1!&ADRESSE(EQUIV($C$2:Feuil1!$B:$B;0);(LIGNE(6-5)*4+5)))

Mais ça ne fonctionne pas et je ne comprend pas trop pourquoi !

Peux-tu m'aider ?

Bonjour,

Avec les conditions que tu indiques, tu devrais avoir les formules suivantes :

Dans la cellule C3 correspondant à l'emploi

=RECHERCHEV(C2;Feuil1!B:D;3;FAUX)

Dans la cellule B6 correspondant à la première date

=INDIRECT("Feuil1!"&ADRESSE(2;(LIGNE()-6)*4+6))

Dans la cellule C6 correspondant au salaire

=INDIRECT("Feuil1!"&ADRESSE(EQUIV($C$2;Feuil1!$B:$B;0);(LIGNE()-6)*4+6))

Dans la cellule D6 correspondant au nombre d'heures de travail

=INDIRECT("Feuil1!"&ADRESSE(EQUIV($C$2;Feuil1!$B:$B;0);(LIGNE()-6)*4+8))

La preuve par l'exemple

21rebb.xlsx (175.68 Ko)

A+

Rholala je suis vraiment nulle en Excel !!!! Ca marche à merveille, merci

J'ai créer une petite macro pour faire disparaitre les dates non travaillées et hop. C'est super !

Merci mille fois, je vais conserver quelques touffes de cheveux et gagner quelques heures de mon temps

Bonjour à nouveau,

J'essai d'inclure le 31 Octobre dans mes onglets mais lorsque je glisse pour copier la cellule du 30 Octobre vers le bas je me retrouve avec la date du 00 janv. 1900.

Sachant que j'ai bel et bien une colonne 31 Octobre dans la feuille 1.

Comment faire ???

Merci !!!

Ahhh j'ai trouvé, la colonne DV était cachée et était vide, du coup il y avait une discontinuité dans les dates du point de vue de la formule. Tout est rentré dans l'ordre. C'était tout bête Grrrrrrr

Rechercher des sujets similaires à "fonction extraction donnees"