Fraichement recruté, je suis chargé du reporting mensuel de mon activité
(je gère une sorte de helpdesk). Je me suis lancé dans le monde
merveilleux d'excel sans avoir toutes les clés et là, je suis dans une
impasse.
Je m'explique : 1 seul fichier
3 onglets actifs : action en cours, action close, action directe
1 onglets Reporting
Je dois pouvoir estimer le nombre de requêtes qui ont pris - ou + de 3
jours ouvrés de traitement.
Comme le reporting comporte beaucoup d'autres items, je me base sur des
macros. Voici celles qui me posent problème :
''' Calcul du délai de prise en compte des requêtes Régulation :
'Délai inférieur ou égal à 3 jours ouvrés :
Worksheets("Reporting Mensuel").Range("E42") =
"=SUMPRODUCT((MONTH(EC_Date_Demande)=MONTH(Mois_Reporting))*(YEAR(EC_Date_Demande)=YEAR(Mois_Reporting))*(EC_Delai_Prise_Compte<=""3""))"
En fait, le blocage vient à mon avis de cette condition :
- (EC_Delai_Prise_Compte<=""3"")
qui renvoie sur une plage renommée où fonction suivante :
=SI(J33<>"";SI(A33=J33;1;J33-A33);"")
calcule le temps de prise en compte de la requête. Ma colonne affiche
donc des 1, des 2, des 3, etc...
Sur mon reporting, il y a une erreur #NOM? très vague. Serait-ce parce
que la condition est mal rédigée ? Que ce n'est pas le résultat de la
formule qui est finalement pris en compte par la macro mais la formule
carrément et là ce serait complètement normal?
Quelqu'un a't-il une solution pour améliorer cette condition? Un peu du
genre : (RESULT(EC_Delai_Prise_Compte))<=3) ou
(VALUE(EC_Delai_Prise_Compte))<=3).
De même, je profite de l'audience de qualité pour demander si l'un
d'entre vous aurait des pistes concernant le calcul du nombre de jours
ouvrés. Là, je sèche.
Tu as fait une erreur de saisis dans ta formule. Remplace ta formule par :
=SOMMEPROD((MOIS(EC_Date_Demande)=MOIS(Mois_Reporting))*(ANNEE (EC_Date_Demande)=ANNEE(Mois_Reporting))*(EC_Delai_Prise_Compte<=3)) +SOMMEPROD((MOIS(CLOS_date_demande)=MOIS(Mois_Reporting))*(ANNEE (CLOS_date_demande)=ANNEE(Mois_Reporting))* (CLOS_Délai_Prise_Compte<=3))+SOMMEPROD((MOIS(DROITS_Date_demande)=MO IS (Mois_Reporting))*(ANNEE(DROITS_Date_demande)=ANNEE(Mois_Reporting))* (DROITS_Delai_Prise_Compte<=3))
Tu as tapé "CLOS_Delai_Prise_Compte" et non "CLOS_Délai_Prise_Compte" (avec un accent à "Délai")
Cordialement,
F.
FdeCourt
Et si je puis me permettre, Au lien d'avoir des noms qui oblige Excel à balayer l'ensemble des lignes, peut être serait-il mieux d'avoir ce type de formule : Par exemple pour Clos_categorie : utilise plutôt :
ÞCALER(Clos!$G$2;;;NBVAL(Clos!$A:$A)-1;)
Cela pourrais peut être te permettre d'éviter d'avoir une macro (bien sur en fonction du nombre d'appels enregistrés. Si mensuellement il y en a rapidement plus de 5 ou 10 milles, ca ne vaut peut être pas le coup. Si ce n'est pas le cas, je pense que tu peux laisser les formules dans les cellules avec l'exemple ci dessous)
Et ainsi de suite (par contre il faut le faire pour que ca marche, et que le NBVAL fasse toujours référence à la même colonne)
attention SOMMEPROD exige que les matrices soient de la même taille. Donc pour les formules qui font référence à plusieurs feuille, prends la plus grande valeur du NBVAL (en ajoutant un nom : nbvaleurs : =MAX(NBVAL('Suivi Droits'!$A:$A);NBVAL(Clos!$G:$G);NBVAL ('En Cours'!$A:$A))-1
puis pour chaque nom, au lieu de ÞCALER(Clos!$G$2;;;NBVAL(Clos!$A: $A)-1;) tu peux mettre : ÞCALER(Clos!$G$2;;;nbvaleurs;) _____________________________ Sinon dans ta macro, au lieu de tout découper, mais un Application.Calculation = xlCalculationManual au tout début du code puis un Application.Calculation = xlCalculationAutomatic à la fin du code
Ensuite regroupe tous les collages de valeurs à la fin de la macro (mais avant le Application.Calculation = xlCalculationAutomatic)
Juste avant de faire le copier coller des valeurs, ajoute : Application.CalculateFull __________________ Autre chose, pour ne pas afficher le quadrillage, au lieu de mettre des bordures blanches, tu as une option sous Excel pour ne pas l'afficher (Outils > Options > Tu décoches Quadrillage)
Et si je puis me permettre,
Au lien d'avoir des noms qui oblige Excel à balayer l'ensemble des
lignes, peut être serait-il mieux d'avoir ce type de formule :
Par exemple pour Clos_categorie :
utilise plutôt :
=DECALER(Clos!$G$2;;;NBVAL(Clos!$A:$A)-1;)
Cela pourrais peut être te permettre d'éviter d'avoir une macro (bien
sur en fonction du nombre d'appels enregistrés. Si mensuellement il y
en a rapidement plus de 5 ou 10 milles, ca ne vaut peut être pas le
coup. Si ce n'est pas le cas, je pense que tu peux laisser les
formules dans les cellules avec l'exemple ci dessous)
Et ainsi de suite (par contre il faut le faire pour que ca marche, et
que le NBVAL fasse toujours référence à la même colonne)
attention SOMMEPROD exige que les matrices soient de la même taille.
Donc pour les formules qui font référence à plusieurs feuille, prends
la plus grande valeur du NBVAL (en ajoutant un nom :
nbvaleurs : =MAX(NBVAL('Suivi Droits'!$A:$A);NBVAL(Clos!$G:$G);NBVAL
('En Cours'!$A:$A))-1
puis pour chaque nom, au lieu de =DECALER(Clos!$G$2;;;NBVAL(Clos!$A:
$A)-1;)
tu peux mettre : =DECALER(Clos!$G$2;;;nbvaleurs;)
_____________________________
Sinon dans ta macro, au lieu de tout découper, mais un
Application.Calculation = xlCalculationManual au tout début du code
puis un
Application.Calculation = xlCalculationAutomatic à la fin du code
Ensuite regroupe tous les collages de valeurs à la fin de la macro
(mais avant le Application.Calculation = xlCalculationAutomatic)
Juste avant de faire le copier coller des valeurs, ajoute :
Application.CalculateFull
__________________
Autre chose, pour ne pas afficher le quadrillage, au lieu de mettre
des bordures blanches, tu as une option sous Excel pour ne pas
l'afficher (Outils > Options > Tu décoches Quadrillage)
Et si je puis me permettre, Au lien d'avoir des noms qui oblige Excel à balayer l'ensemble des lignes, peut être serait-il mieux d'avoir ce type de formule : Par exemple pour Clos_categorie : utilise plutôt :
ÞCALER(Clos!$G$2;;;NBVAL(Clos!$A:$A)-1;)
Cela pourrais peut être te permettre d'éviter d'avoir une macro (bien sur en fonction du nombre d'appels enregistrés. Si mensuellement il y en a rapidement plus de 5 ou 10 milles, ca ne vaut peut être pas le coup. Si ce n'est pas le cas, je pense que tu peux laisser les formules dans les cellules avec l'exemple ci dessous)
Et ainsi de suite (par contre il faut le faire pour que ca marche, et que le NBVAL fasse toujours référence à la même colonne)
attention SOMMEPROD exige que les matrices soient de la même taille. Donc pour les formules qui font référence à plusieurs feuille, prends la plus grande valeur du NBVAL (en ajoutant un nom : nbvaleurs : =MAX(NBVAL('Suivi Droits'!$A:$A);NBVAL(Clos!$G:$G);NBVAL ('En Cours'!$A:$A))-1
puis pour chaque nom, au lieu de ÞCALER(Clos!$G$2;;;NBVAL(Clos!$A: $A)-1;) tu peux mettre : ÞCALER(Clos!$G$2;;;nbvaleurs;) _____________________________ Sinon dans ta macro, au lieu de tout découper, mais un Application.Calculation = xlCalculationManual au tout début du code puis un Application.Calculation = xlCalculationAutomatic à la fin du code
Ensuite regroupe tous les collages de valeurs à la fin de la macro (mais avant le Application.Calculation = xlCalculationAutomatic)
Juste avant de faire le copier coller des valeurs, ajoute : Application.CalculateFull __________________ Autre chose, pour ne pas afficher le quadrillage, au lieu de mettre des bordures blanches, tu as une option sous Excel pour ne pas l'afficher (Outils > Options > Tu décoches Quadrillage)
LanitZ
Quelle honte,
Bloqué tant de temps sur une sordide histoire d'accent.
Merci beaucoup et mille merci pour tes conseils affutés que je ne manquerai pas de mettre en oeuvre. Je fais faire un pilote pour 2010. Cela me parait du coup aussi moins fastidieux que ma méthode.
Si besoin, je reviendrai crier à l'aide !
Bravo car il y a beaucoup de trucs à savoir dispo ici. J'espere un jour pouvoir aider comme tu l'as fait aujourd'hui.
Bonne journée.
LanitZ
FdeCourt a écrit :
Et si je puis me permettre, Au lien d'avoir des noms qui oblige Excel à balayer l'ensemble des lignes, peut être serait-il mieux d'avoir ce type de formule : Par exemple pour Clos_categorie : utilise plutôt :
ÞCALER(Clos!$G$2;;;NBVAL(Clos!$A:$A)-1;)
Cela pourrais peut être te permettre d'éviter d'avoir une macro (bien sur en fonction du nombre d'appels enregistrés. Si mensuellement il y en a rapidement plus de 5 ou 10 milles, ca ne vaut peut être pas le coup. Si ce n'est pas le cas, je pense que tu peux laisser les formules dans les cellules avec l'exemple ci dessous)
Et ainsi de suite (par contre il faut le faire pour que ca marche, et que le NBVAL fasse toujours référence à la même colonne)
attention SOMMEPROD exige que les matrices soient de la même taille. Donc pour les formules qui font référence à plusieurs feuille, prends la plus grande valeur du NBVAL (en ajoutant un nom : nbvaleurs : =MAX(NBVAL('Suivi Droits'!$A:$A);NBVAL(Clos!$G:$G);NBVAL ('En Cours'!$A:$A))-1
puis pour chaque nom, au lieu de ÞCALER(Clos!$G$2;;;NBVAL(Clos!$A: $A)-1;) tu peux mettre : ÞCALER(Clos!$G$2;;;nbvaleurs;) _____________________________ Sinon dans ta macro, au lieu de tout découper, mais un Application.Calculation = xlCalculationManual au tout début du code puis un Application.Calculation = xlCalculationAutomatic à la fin du code
Ensuite regroupe tous les collages de valeurs à la fin de la macro (mais avant le Application.Calculation = xlCalculationAutomatic)
Juste avant de faire le copier coller des valeurs, ajoute : Application.CalculateFull __________________ Autre chose, pour ne pas afficher le quadrillage, au lieu de mettre des bordures blanches, tu as une option sous Excel pour ne pas l'afficher (Outils > Options > Tu décoches Quadrillage)
Quelle honte,
Bloqué tant de temps sur une sordide histoire d'accent.
Merci beaucoup et mille merci pour tes conseils affutés que je ne
manquerai pas de mettre en oeuvre. Je fais faire un pilote pour 2010.
Cela me parait du coup aussi moins fastidieux que ma méthode.
Si besoin, je reviendrai crier à l'aide !
Bravo car il y a beaucoup de trucs à savoir dispo ici. J'espere un jour
pouvoir aider comme tu l'as fait aujourd'hui.
Bonne journée.
LanitZ
FdeCourt a écrit :
Et si je puis me permettre,
Au lien d'avoir des noms qui oblige Excel à balayer l'ensemble des
lignes, peut être serait-il mieux d'avoir ce type de formule :
Par exemple pour Clos_categorie :
utilise plutôt :
ÞCALER(Clos!$G$2;;;NBVAL(Clos!$A:$A)-1;)
Cela pourrais peut être te permettre d'éviter d'avoir une macro (bien
sur en fonction du nombre d'appels enregistrés. Si mensuellement il y
en a rapidement plus de 5 ou 10 milles, ca ne vaut peut être pas le
coup. Si ce n'est pas le cas, je pense que tu peux laisser les
formules dans les cellules avec l'exemple ci dessous)
Et ainsi de suite (par contre il faut le faire pour que ca marche, et
que le NBVAL fasse toujours référence à la même colonne)
attention SOMMEPROD exige que les matrices soient de la même taille.
Donc pour les formules qui font référence à plusieurs feuille, prends
la plus grande valeur du NBVAL (en ajoutant un nom :
nbvaleurs : =MAX(NBVAL('Suivi Droits'!$A:$A);NBVAL(Clos!$G:$G);NBVAL
('En Cours'!$A:$A))-1
puis pour chaque nom, au lieu de ÞCALER(Clos!$G$2;;;NBVAL(Clos!$A:
$A)-1;)
tu peux mettre : ÞCALER(Clos!$G$2;;;nbvaleurs;)
_____________________________
Sinon dans ta macro, au lieu de tout découper, mais un
Application.Calculation = xlCalculationManual au tout début du code
puis un
Application.Calculation = xlCalculationAutomatic à la fin du code
Ensuite regroupe tous les collages de valeurs à la fin de la macro
(mais avant le Application.Calculation = xlCalculationAutomatic)
Juste avant de faire le copier coller des valeurs, ajoute :
Application.CalculateFull
__________________
Autre chose, pour ne pas afficher le quadrillage, au lieu de mettre
des bordures blanches, tu as une option sous Excel pour ne pas
l'afficher (Outils > Options > Tu décoches Quadrillage)
Bloqué tant de temps sur une sordide histoire d'accent.
Merci beaucoup et mille merci pour tes conseils affutés que je ne manquerai pas de mettre en oeuvre. Je fais faire un pilote pour 2010. Cela me parait du coup aussi moins fastidieux que ma méthode.
Si besoin, je reviendrai crier à l'aide !
Bravo car il y a beaucoup de trucs à savoir dispo ici. J'espere un jour pouvoir aider comme tu l'as fait aujourd'hui.
Bonne journée.
LanitZ
FdeCourt a écrit :
Et si je puis me permettre, Au lien d'avoir des noms qui oblige Excel à balayer l'ensemble des lignes, peut être serait-il mieux d'avoir ce type de formule : Par exemple pour Clos_categorie : utilise plutôt :
ÞCALER(Clos!$G$2;;;NBVAL(Clos!$A:$A)-1;)
Cela pourrais peut être te permettre d'éviter d'avoir une macro (bien sur en fonction du nombre d'appels enregistrés. Si mensuellement il y en a rapidement plus de 5 ou 10 milles, ca ne vaut peut être pas le coup. Si ce n'est pas le cas, je pense que tu peux laisser les formules dans les cellules avec l'exemple ci dessous)
Et ainsi de suite (par contre il faut le faire pour que ca marche, et que le NBVAL fasse toujours référence à la même colonne)
attention SOMMEPROD exige que les matrices soient de la même taille. Donc pour les formules qui font référence à plusieurs feuille, prends la plus grande valeur du NBVAL (en ajoutant un nom : nbvaleurs : =MAX(NBVAL('Suivi Droits'!$A:$A);NBVAL(Clos!$G:$G);NBVAL ('En Cours'!$A:$A))-1
puis pour chaque nom, au lieu de ÞCALER(Clos!$G$2;;;NBVAL(Clos!$A: $A)-1;) tu peux mettre : ÞCALER(Clos!$G$2;;;nbvaleurs;) _____________________________ Sinon dans ta macro, au lieu de tout découper, mais un Application.Calculation = xlCalculationManual au tout début du code puis un Application.Calculation = xlCalculationAutomatic à la fin du code
Ensuite regroupe tous les collages de valeurs à la fin de la macro (mais avant le Application.Calculation = xlCalculationAutomatic)
Juste avant de faire le copier coller des valeurs, ajoute : Application.CalculateFull __________________ Autre chose, pour ne pas afficher le quadrillage, au lieu de mettre des bordures blanches, tu as une option sous Excel pour ne pas l'afficher (Outils > Options > Tu décoches Quadrillage)