Probleme et FIN

  • Initiateur de la discussion meeeeeeeeee
  • Date de début
M

meeeeeeeeee

Guest
Une nouvelle fois bonjour.

Je fais encore appel a votre aide car il me reste 1 problème pour "finir" un travail.

Voila j'ai un classeur avec une feuille par mois chacune contenant le planning par semaine ( 4 par mois)pour plusieurs employés.

j'aimerai créer une fiche individuelle(dans une nouvelle feuille) dans laquelle apparaitrai le planning par mois (ou par semaine?) en fonction du nom et de la période sélectionnée (c très important)., style recherche v ou h.

Si vous pouviez m'expliquer ça "étape par étape" siouplait (slt si ça le nécessite...)

Mon fichier étant trop volumineux je ne peus le mettre ici, tant pis

Merci, merci
 
P

Pierre

Guest
salut meeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

et bien moi je pense que tu peux faire des si imbriqués les uns dans les autres et sa donneraient du genre si tel période est sélectionné, recherchev de l'employé et formule pour afficher ce que tu souhaites etc ... bon j'espère que ta compris sinon redemande lol ^^
 
M

meeeeeeeeee

Guest
Voila j'ai "adapté" mon fichier pour que cà fasse pas trop mais maintenant ca resemble plus a rien

Bon y a ce qui sert pour la fiche individuelle en haut ( qui sera dans une autre feuille) et une idée de la tête du planning en dessous sauf que c pour plus de personnes et pour tous les jours de la semaine...

j'espère que vous arriverez à me comprendre, et à m'aider...........

merci
 

Pièces jointes

  • aaaaa.xls
    18 KB · Affichages: 49
  • aaaaa.xls
    18 KB · Affichages: 51
  • aaaaa.xls
    18 KB · Affichages: 55
J

Jean-Marie TSCHOFFEN

Guest
Bonsoir,

Dans ta formule D5, qui contient ceci (le nom de la feuille REF! n'est pas bonne du au problème de liaison)

=SI(B1=1;RECHERCHEV(B3;REF1'!A6:I12;9;0);SI(B1=2;RECHERCHEV(B3;REF1'!A20:I26;9;0);SI(B1=3;RECHERCHEV(B3;REF1'!A34:I40;9;0);SI(B1=4;RECHERCHEV(B3;REF2'!A48:I54;9;0);SI(B1=5;RECHERCHEV(B3;REF2'!A6:I12;9;0);SI(B1=6;RECHERCHEV(B3;REF2'!A20:I25;9;0);SI(B1=7;RECHERCHEV(B3;REF2'!A34:I39;9;0))))))))

En la présentant autrement, sous forme de cascade,
=SI(B1=1;RECHERCHEV(B3;REF1'!A6:I12;9;0);
SI(B1=2;RECHERCHEV(B3;REF1'!A20:I26;9;0);
SI(B1=3;RECHERCHEV(B3;REF1'!A34:I40;9;0);
SI(B1=4;RECHERCHEV(B3;REF1'!A48:I54;9;0);
SI(B1=5;RECHERCHEV(B3;REF2'!A6:I12;9;0);
SI(B1=6;RECHERCHEV(B3;REF2'!A20:I25;9;0);
SI(B1=7;RECHERCHEV(B3;REF2'!A34:I39;9;0)
)
)
)
)
)
)
)

Si tu analyses ta formule, tu as un Si de la cellule B1, puis utiliser la fonction RECHERCHE de la cellule B3 dans une plage qui varie. Pour éviter une certaine répétition, la formule peut être écrite sous cette forme :
=RECHERCHEV(Feuil1!B3;si(B1=1;REF1'!A6:I12;si(B1=2;REF1'!A20:I26............));9;0)
Tu vas me dire je n'ai pas résolu ton problème de 7 SI imbriqués . Exact, mais je t'ai montrer déjà comment simplifier ta formule.

Il y a une fonction qui s'appel CHOISIR (pour faire plaisir à CATHY)

=RECHERCHEV(Feuil1!B3;CHOISIR(B1;REF1'!A6:I12;REF1'!A20:I26............);9;0)
Mais petit bémol, Choisir n'accepte que 29 valeurs (1à29), donc hic... lol

Seule possibilité, tu te créer une liste avec le nom des plages des cellules (sous forme de texte).
Par exemple :
Nom de la feuille : feuillePlage
dans la colonne A
REF1'!A6:I12
REF1'!A20:I26
REF1'!A34:I40
REF1'!A48:I54
REF2'!A6:I12
REF2'!A20:I26
REF2'!A34:I40
REF2'!A48:I54
etc

Tu remplaces dans la cellule D5, la formule par celle-ci
=RECHERCHEV(Feuil1!B3;INDIRECT(INDEX(feuillePlageA:A;B1;1));9;0)

Dans les autres formules, quand tu voudras faire appel à la plage des données, utilise cette partie INDIRECT(INDEX(feuillePlageA:A;B1;1)).

J'espère avoir été clair.

Bonne soirée

@+Jean-Marie
 
M

meeeeeeeeee

Guest
Merci beaucoup pour ces diverses réponses j'aurai encore appris pas mal de choses aujourd'hui.

Mais ta solution finale avec INDIRECT et INDEX "ne fonctionne pas" (g du mal m'y prendre), donc si tu pouvais me refaire un petit topo dessus (sans vouloir abuser), du même genre que ce que ta fais avant STP.
Si tu pouvais être juste un peu plus explicite sur la création de la liste avec les références des cellules aussi (désolé).

Je te remets un bout du programme mais cette fois j'ai écrit les références des cellules dans lesquelles on "fait" la recherche (pour les 3 premiers mois).

PS: il faut savoir que la fiche individuelle sera sur une feuille a part dans le classeur.

Encore merciiiiiiii
 
J

Jean-Marie

Guest
Re...

J'ai modifié ton fichier, en déplaçant les références des plages dans les feuilles, de cette manière je diminue la complexité des formules.

Si les diverses feuilles n'appatiennent pas à ce classeur, il faut déjà ouvrir les fichiers contenant les feuilles désignées, puis lancer l'ouverture du fichier aaaaa.xls. Il faut dans la liste des plages, que le nom du fichier soit marquée.

La fonction dans la cellule E12 =RECHERCHEV($C$6;INDIRECT(INDEX($A$30:$A$42;$C$4;1));9;0)

Pour les fonctions :
Index(), retourne une valeur d'une plage, en fonction de l'intersection du n° de ligne et du n° de colonne, exemple index(A1:IV65536;2;3) va retourner le contenue de la cellule C2.

Indirect(), transforme une zone écrite en texte en une référence exploitable par les autres fonction. exemple =somme("A1:A100") ne fonctionne pas, mais =somme(indirect("A1:A100")), retournera la même chose que la forrmule =somme(A1:A100). Avantage avec indirect, c'est de déterminer une plage de cellule par calcul.

Voilà, j'espère que tu vas comprendre mes explications.

@+Jean-Marie
 

Pièces jointes

  • aaaaa.xls
    15.5 KB · Affichages: 58
  • aaaaa.xls
    15.5 KB · Affichages: 58
  • aaaaa.xls
    15.5 KB · Affichages: 57

Discussions similaires

Statistiques des forums

Discussions
314 656
Messages
2 111 613
Membres
111 226
dernier inscrit
aaezad