OVH Cloud OVH Cloud

Macro a partir d'une formule

7 réponses
Avatar
RC
Bonjour à tous!!!
Voilà.. j'ai une formule pour chaque cellule d'un tableau excel et le
problème est qu'il y a trop "d'arguments"...
La voici... (attention les yeux...):

=CHOISIR(1+([NB.xls]Avril2006!$D5="PQCSS")*1+([SC.xls]Avril2006!$D5="PQCSS")
*2+([JMB.xls]Avril2006!$D5="PQCSS")*4+([MCD.xls]Avril2006!$D5="PQCSS")*8+([M
N.xls]Avril2006!$D5="PQCSS")*16;"";INDIRECT.EXT("'\\serveur\plannings\Format
eurs\[NB.xls]Avril2006'!$F$1");INDIRECT.EXT("'\\serveur\plannings\Formateurs
\[SC.xls]Avril2006'!$F$1");"NB/SC";INDIRECT.EXT("'\\serveur\plannings\Format
eurs\[JMB.xls]Avril2006'!$F$1");"NB/JMB";"SC/JMB";"JMB/NB/SC";INDIRECT.EXT("
'\\serveur\plannings\Formateurs\[MCD.xls]Avril2006'!$F$1");"NB/MCD";"SC/MCD"
;"NB/SC/MCD";"JMB/MCD";"JMB/NB/MCD";"JMB/SC/MCD";"JMB/NB/SC/MCD";INDIRECT.EX
T("'\\serveur\plannings\Formateurs\[MN.xls]Avril2006'!$F$1");"NB/MN";"SC/MN"
;"NB/SC/MN";"JMB/MN";"JMB/NB/MN";"JMB/SC/MN";"JMB/NB/SC/MN";"MN/MCD";"NB/MN/
MCD";"SC/MN/MCD";"NB/SC/MN/MCD";"JMB/MN/MCD")

J'ai déja pensé (grâce à isabelle) à substituer le chemin
("'\\serveur\plannings\Formateurs\[NB.xls]Avril2006'!$F$1") par une cellule
pour la raccourcir mais ça ne changera pas le nombre des arguments...

Quelqu'un aurait-il une idée pour transformer cette formule en macro?...
Sinon, tous vos conseils seront les biens venus...
Merci infiniment,
RC...

7 réponses

Avatar
Daniel
Bonjour.
Tu pourrais résumer ce que tu veux faire. Ce serait plus facile pour moi et,
je pense, pour tout le monde que de décortiquer la formule.
Cordialement.
Daniel
"RC" a écrit dans le message de news:
OhVm5i$
Bonjour à tous!!!
Voilà.. j'ai une formule pour chaque cellule d'un tableau excel et le
problème est qu'il y a trop "d'arguments"...
La voici... (attention les yeux...):

=CHOISIR(1+([NB.xls]Avril2006!$D5="PQCSS")*1+([SC.xls]Avril2006!$D5="PQCSS")
*2+([JMB.xls]Avril2006!$D5="PQCSS")*4+([MCD.xls]Avril2006!$D5="PQCSS")*8+([M
N.xls]Avril2006!$D5="PQCSS")*16;"";INDIRECT.EXT("'serveurplanningsFormat
eurs[NB.xls]Avril2006'!$F$1");INDIRECT.EXT("'serveurplanningsFormateurs
[SC.xls]Avril2006'!$F$1");"NB/SC";INDIRECT.EXT("'serveurplanningsFormat
eurs[JMB.xls]Avril2006'!$F$1");"NB/JMB";"SC/JMB";"JMB/NB/SC";INDIRECT.EXT("
'serveurplanningsFormateurs[MCD.xls]Avril2006'!$F$1");"NB/MCD";"SC/MCD"
;"NB/SC/MCD";"JMB/MCD";"JMB/NB/MCD";"JMB/SC/MCD";"JMB/NB/SC/MCD";INDIRECT.EX
T("'serveurplanningsFormateurs[MN.xls]Avril2006'!$F$1");"NB/MN";"SC/MN"
;"NB/SC/MN";"JMB/MN";"JMB/NB/MN";"JMB/SC/MN";"JMB/NB/SC/MN";"MN/MCD";"NB/MN/
MCD";"SC/MN/MCD";"NB/SC/MN/MCD";"JMB/MN/MCD")

J'ai déja pensé (grâce à isabelle) à substituer le chemin
("'serveurplanningsFormateurs[NB.xls]Avril2006'!$F$1") par une
cellule
pour la raccourcir mais ça ne changera pas le nombre des arguments...

Quelqu'un aurait-il une idée pour transformer cette formule en macro?...
Sinon, tous vos conseils seront les biens venus...
Merci infiniment,
RC...




Avatar
RC
Salut daniel...
bien... je vais essayé d'être le plus explicite possible...
Cette formule est appliquée pour chaque cellule d'un tableau (1cellule=une
plage horaire). Ce tableau identifie le planning de l'action dans un mois
(en listant l'ensemble des formateurs qui la réalise, par plage horaire).
La formule a pour objectif d'aller dans chaque planning des formateurs
(classeurs situés sur un serveur de fichier) et de vérifier si l'action (ici
PQCSS) est réalisée par celui-ci. Si oui, écrire les initiales sinon ne rien
mettre.
Dans cette formule, nous avons: 5 formateurs (JMB,NB,SC,MCD,MN) qui
réalisent PQCSS, le test de la cellule D5 de chaque formateur (plage 8h-8h30
du 1avril2006), les initiales de chacun d'eux (avec indirect.ext), et la
gestion des conflits...

En fait c'est la gestion des conflits (trop nombreux) qui me met dedans...
Si ce n'est pas clair, fait moi signe...

Merci de ton implication!!! ;-)
Amicalement,
RC

"Daniel" a écrit dans le message de
news:OMCZur$
Bonjour.
Tu pourrais résumer ce que tu veux faire. Ce serait plus facile pour moi
et,

je pense, pour tout le monde que de décortiquer la formule.
Cordialement.
Daniel
"RC" a écrit dans le message de news:
OhVm5i$
Bonjour à tous!!!
Voilà.. j'ai une formule pour chaque cellule d'un tableau excel et le
problème est qu'il y a trop "d'arguments"...
La voici... (attention les yeux...):


=CHOISIR(1+([NB.xls]Avril2006!$D5="PQCSS")*1+([SC.xls]Avril2006!$D5="PQCSS")



*2+([JMB.xls]Avril2006!$D5="PQCSS")*4+([MCD.xls]Avril2006!$D5="PQCSS")*8+([M



N.xls]Avril2006!$D5="PQCSS")*16;"";INDIRECT.EXT("'serveurplanningsFormat



eurs[NB.xls]Avril2006'!$F$1");INDIRECT.EXT("'serveurplanningsFormateurs



[SC.xls]Avril2006'!$F$1");"NB/SC";INDIRECT.EXT("'serveurplanningsFormat



eurs[JMB.xls]Avril2006'!$F$1");"NB/JMB";"SC/JMB";"JMB/NB/SC";INDIRECT.EXT("



'serveurplanningsFormateurs[MCD.xls]Avril2006'!$F$1");"NB/MCD";"SC/MCD"



;"NB/SC/MCD";"JMB/MCD";"JMB/NB/MCD";"JMB/SC/MCD";"JMB/NB/SC/MCD";INDIRECT.EX



T("'serveurplanningsFormateurs[MN.xls]Avril2006'!$F$1");"NB/MN";"SC/MN"



;"NB/SC/MN";"JMB/MN";"JMB/NB/MN";"JMB/SC/MN";"JMB/NB/SC/MN";"MN/MCD";"NB/MN/


MCD";"SC/MN/MCD";"NB/SC/MN/MCD";"JMB/MN/MCD")

J'ai déja pensé (grâce à isabelle) à substituer le chemin
("'serveurplanningsFormateurs[NB.xls]Avril2006'!$F$1") par une
cellule
pour la raccourcir mais ça ne changera pas le nombre des arguments...

Quelqu'un aurait-il une idée pour transformer cette formule en macro?...
Sinon, tous vos conseils seront les biens venus...
Merci infiniment,
RC...








Avatar
Daniel
Qu'y a-t-il dans la cellule F1 du fichier de chaque formateur ?
Quelles sont les différentes plages horaires de la journée et à quelles
cellules correspondent-elles ?
Si il y a d'autres formateurs, donne tout de suite leurs initiales.
Cordialement.
Daniel
"RC" a écrit dans le message de news:
OBUJp6$
Salut daniel...
bien... je vais essayé d'être le plus explicite possible...
Cette formule est appliquée pour chaque cellule d'un tableau (1cellule=une
plage horaire). Ce tableau identifie le planning de l'action dans un mois
(en listant l'ensemble des formateurs qui la réalise, par plage horaire).
La formule a pour objectif d'aller dans chaque planning des formateurs
(classeurs situés sur un serveur de fichier) et de vérifier si l'action
(ici
PQCSS) est réalisée par celui-ci. Si oui, écrire les initiales sinon ne
rien
mettre.
Dans cette formule, nous avons: 5 formateurs (JMB,NB,SC,MCD,MN) qui
réalisent PQCSS, le test de la cellule D5 de chaque formateur (plage
8h-8h30
du 1avril2006), les initiales de chacun d'eux (avec indirect.ext), et la
gestion des conflits...

En fait c'est la gestion des conflits (trop nombreux) qui me met dedans...
Si ce n'est pas clair, fait moi signe...

Merci de ton implication!!! ;-)
Amicalement,
RC

"Daniel" a écrit dans le message de
news:OMCZur$
Bonjour.
Tu pourrais résumer ce que tu veux faire. Ce serait plus facile pour moi
et,

je pense, pour tout le monde que de décortiquer la formule.
Cordialement.
Daniel
"RC" a écrit dans le message de news:
OhVm5i$
Bonjour à tous!!!
Voilà.. j'ai une formule pour chaque cellule d'un tableau excel et le
problème est qu'il y a trop "d'arguments"...
La voici... (attention les yeux...):


=CHOISIR(1+([NB.xls]Avril2006!$D5="PQCSS")*1+([SC.xls]Avril2006!$D5="PQCSS")



*2+([JMB.xls]Avril2006!$D5="PQCSS")*4+([MCD.xls]Avril2006!$D5="PQCSS")*8+([M



N.xls]Avril2006!$D5="PQCSS")*16;"";INDIRECT.EXT("'serveurplanningsFormat



eurs[NB.xls]Avril2006'!$F$1");INDIRECT.EXT("'serveurplanningsFormateurs



[SC.xls]Avril2006'!$F$1");"NB/SC";INDIRECT.EXT("'serveurplanningsFormat



eurs[JMB.xls]Avril2006'!$F$1");"NB/JMB";"SC/JMB";"JMB/NB/SC";INDIRECT.EXT("



'serveurplanningsFormateurs[MCD.xls]Avril2006'!$F$1");"NB/MCD";"SC/MCD"



;"NB/SC/MCD";"JMB/MCD";"JMB/NB/MCD";"JMB/SC/MCD";"JMB/NB/SC/MCD";INDIRECT.EX



T("'serveurplanningsFormateurs[MN.xls]Avril2006'!$F$1");"NB/MN";"SC/MN"



;"NB/SC/MN";"JMB/MN";"JMB/NB/MN";"JMB/SC/MN";"JMB/NB/SC/MN";"MN/MCD";"NB/MN/


MCD";"SC/MN/MCD";"NB/SC/MN/MCD";"JMB/MN/MCD")

J'ai déja pensé (grâce à isabelle) à substituer le chemin
("'serveurplanningsFormateurs[NB.xls]Avril2006'!$F$1") par une
cellule
pour la raccourcir mais ça ne changera pas le nombre des arguments...

Quelqu'un aurait-il une idée pour transformer cette formule en
macro?...
Sinon, tous vos conseils seront les biens venus...
Merci infiniment,
RC...












Avatar
RC
Re Dani..
Dans la cellule F1 il y a les initiales des formateurs... mais on peut les
mettre directement sur la feuille dans des cellules.
Les plages horaires sont nombreuses: de la ligne 5 à 119 (de 8h à 19h30 par
tranche de 30min *5 car 5semaines), et de la colonne D à I pour les jours.
Les formateurs sont 5 pour cette action, mais je n'ai aucune visibilité à ce
niveau (RH un peu à la rue...), mais c'est pas grave, j'adapterai une
éventuelle formule en conséquence. En tout cas pour l'instant c'est comme
ça...
Si tu veux, je peux t'envoyer un document vierge de l'action sur cjoint si
tu ne le visualise pas...
Merci à toi...
Cordialement,
RC


"Daniel" a écrit dans le message de
news:
Qu'y a-t-il dans la cellule F1 du fichier de chaque formateur ?
Quelles sont les différentes plages horaires de la journée et à quelles
cellules correspondent-elles ?
Si il y a d'autres formateurs, donne tout de suite leurs initiales.
Cordialement.
Daniel
"RC" a écrit dans le message de news:
OBUJp6$
Salut daniel...
bien... je vais essayé d'être le plus explicite possible...
Cette formule est appliquée pour chaque cellule d'un tableau
(1cellule=une


plage horaire). Ce tableau identifie le planning de l'action dans un
mois


(en listant l'ensemble des formateurs qui la réalise, par plage
horaire).


La formule a pour objectif d'aller dans chaque planning des formateurs
(classeurs situés sur un serveur de fichier) et de vérifier si l'action
(ici
PQCSS) est réalisée par celui-ci. Si oui, écrire les initiales sinon ne
rien
mettre.
Dans cette formule, nous avons: 5 formateurs (JMB,NB,SC,MCD,MN) qui
réalisent PQCSS, le test de la cellule D5 de chaque formateur (plage
8h-8h30
du 1avril2006), les initiales de chacun d'eux (avec indirect.ext), et la
gestion des conflits...

En fait c'est la gestion des conflits (trop nombreux) qui me met
dedans...


Si ce n'est pas clair, fait moi signe...

Merci de ton implication!!! ;-)
Amicalement,
RC

"Daniel" a écrit dans le message de
news:OMCZur$
Bonjour.
Tu pourrais résumer ce que tu veux faire. Ce serait plus facile pour
moi



et,
je pense, pour tout le monde que de décortiquer la formule.
Cordialement.
Daniel
"RC" a écrit dans le message de news:
OhVm5i$
Bonjour à tous!!!
Voilà.. j'ai une formule pour chaque cellule d'un tableau excel et le
problème est qu'il y a trop "d'arguments"...
La voici... (attention les yeux...):





=CHOISIR(1+([NB.xls]Avril2006!$D5="PQCSS")*1+([SC.xls]Avril2006!$D5="PQCSS")






*2+([JMB.xls]Avril2006!$D5="PQCSS")*4+([MCD.xls]Avril2006!$D5="PQCSS")*8+([M






N.xls]Avril2006!$D5="PQCSS")*16;"";INDIRECT.EXT("'serveurplanningsFormat






eurs[NB.xls]Avril2006'!$F$1");INDIRECT.EXT("'serveurplanningsFormateurs






[SC.xls]Avril2006'!$F$1");"NB/SC";INDIRECT.EXT("'serveurplanningsFormat






eurs[JMB.xls]Avril2006'!$F$1");"NB/JMB";"SC/JMB";"JMB/NB/SC";INDIRECT.EXT("






'serveurplanningsFormateurs[MCD.xls]Avril2006'!$F$1");"NB/MCD";"SC/MCD"






;"NB/SC/MCD";"JMB/MCD";"JMB/NB/MCD";"JMB/SC/MCD";"JMB/NB/SC/MCD";INDIRECT.EX






T("'serveurplanningsFormateurs[MN.xls]Avril2006'!$F$1");"NB/MN";"SC/MN"






;"NB/SC/MN";"JMB/MN";"JMB/NB/MN";"JMB/SC/MN";"JMB/NB/SC/MN";"MN/MCD";"NB/MN/


MCD";"SC/MN/MCD";"NB/SC/MN/MCD";"JMB/MN/MCD")

J'ai déja pensé (grâce à isabelle) à substituer le chemin
("'serveurplanningsFormateurs[NB.xls]Avril2006'!$F$1") par une
cellule
pour la raccourcir mais ça ne changera pas le nombre des arguments...

Quelqu'un aurait-il une idée pour transformer cette formule en
macro?...
Sinon, tous vos conseils seront les biens venus...
Merci infiniment,
RC...
















Avatar
Daniel
Poste un classeur formateur (avec des données bidon, si c'est confidentiel),
ça servira à faire des tests
Daniel
"RC" a écrit dans le message de news:
%
Re Dani..
Dans la cellule F1 il y a les initiales des formateurs... mais on peut les
mettre directement sur la feuille dans des cellules.
Les plages horaires sont nombreuses: de la ligne 5 à 119 (de 8h à 19h30
par
tranche de 30min *5 car 5semaines), et de la colonne D à I pour les jours.
Les formateurs sont 5 pour cette action, mais je n'ai aucune visibilité à
ce
niveau (RH un peu à la rue...), mais c'est pas grave, j'adapterai une
éventuelle formule en conséquence. En tout cas pour l'instant c'est comme
ça...
Si tu veux, je peux t'envoyer un document vierge de l'action sur cjoint si
tu ne le visualise pas...
Merci à toi...
Cordialement,
RC


"Daniel" a écrit dans le message de
news:
Qu'y a-t-il dans la cellule F1 du fichier de chaque formateur ?
Quelles sont les différentes plages horaires de la journée et à quelles
cellules correspondent-elles ?
Si il y a d'autres formateurs, donne tout de suite leurs initiales.
Cordialement.
Daniel
"RC" a écrit dans le message de news:
OBUJp6$
Salut daniel...
bien... je vais essayé d'être le plus explicite possible...
Cette formule est appliquée pour chaque cellule d'un tableau
(1cellule=une


plage horaire). Ce tableau identifie le planning de l'action dans un
mois


(en listant l'ensemble des formateurs qui la réalise, par plage
horaire).


La formule a pour objectif d'aller dans chaque planning des formateurs
(classeurs situés sur un serveur de fichier) et de vérifier si l'action
(ici
PQCSS) est réalisée par celui-ci. Si oui, écrire les initiales sinon ne
rien
mettre.
Dans cette formule, nous avons: 5 formateurs (JMB,NB,SC,MCD,MN) qui
réalisent PQCSS, le test de la cellule D5 de chaque formateur (plage
8h-8h30
du 1avril2006), les initiales de chacun d'eux (avec indirect.ext), et
la
gestion des conflits...

En fait c'est la gestion des conflits (trop nombreux) qui me met
dedans...


Si ce n'est pas clair, fait moi signe...

Merci de ton implication!!! ;-)
Amicalement,
RC

"Daniel" a écrit dans le message de
news:OMCZur$
Bonjour.
Tu pourrais résumer ce que tu veux faire. Ce serait plus facile pour
moi



et,
je pense, pour tout le monde que de décortiquer la formule.
Cordialement.
Daniel
"RC" a écrit dans le message de news:
OhVm5i$
Bonjour à tous!!!
Voilà.. j'ai une formule pour chaque cellule d'un tableau excel et
le
problème est qu'il y a trop "d'arguments"...
La voici... (attention les yeux...):





=CHOISIR(1+([NB.xls]Avril2006!$D5="PQCSS")*1+([SC.xls]Avril2006!$D5="PQCSS")






*2+([JMB.xls]Avril2006!$D5="PQCSS")*4+([MCD.xls]Avril2006!$D5="PQCSS")*8+([M






N.xls]Avril2006!$D5="PQCSS")*16;"";INDIRECT.EXT("'serveurplanningsFormat






eurs[NB.xls]Avril2006'!$F$1");INDIRECT.EXT("'serveurplanningsFormateurs






[SC.xls]Avril2006'!$F$1");"NB/SC";INDIRECT.EXT("'serveurplanningsFormat






eurs[JMB.xls]Avril2006'!$F$1");"NB/JMB";"SC/JMB";"JMB/NB/SC";INDIRECT.EXT("






'serveurplanningsFormateurs[MCD.xls]Avril2006'!$F$1");"NB/MCD";"SC/MCD"






;"NB/SC/MCD";"JMB/MCD";"JMB/NB/MCD";"JMB/SC/MCD";"JMB/NB/SC/MCD";INDIRECT.EX






T("'serveurplanningsFormateurs[MN.xls]Avril2006'!$F$1");"NB/MN";"SC/MN"






;"NB/SC/MN";"JMB/MN";"JMB/NB/MN";"JMB/SC/MN";"JMB/NB/SC/MN";"MN/MCD";"NB/MN/


MCD";"SC/MN/MCD";"NB/SC/MN/MCD";"JMB/MN/MCD")

J'ai déja pensé (grâce à isabelle) à substituer le chemin
("'serveurplanningsFormateurs[NB.xls]Avril2006'!$F$1") par une
cellule
pour la raccourcir mais ça ne changera pas le nombre des
arguments...

Quelqu'un aurait-il une idée pour transformer cette formule en
macro?...
Sinon, tous vos conseils seront les biens venus...
Merci infiniment,
RC...




















Avatar
RC
Re...
Voici le lien pour un planning formateur:

http://cjoint.com/?dEs3dbxfY5

Bien à toi,
RC
Avatar
Daniel
Jette un oeil au classeur joint pour voir si c'est ce que tu veux (les
formules n'ont été remplies que pour la première semaine)
http://cjoint.com/?dEvgMxTiCs
Daniel
"RC" a écrit dans le message de news:
uDBX%
Re...
Voici le lien pour un planning formateur:

http://cjoint.com/?dEs3dbxfY5

Bien à toi,
RC