IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Conception Discussion :

Calcul somme en fonction du numéro d'une semaine


Sujet :

Conception

  1. #1
    Membre régulier
    Inscrit en
    Mai 2012
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 219
    Points : 94
    Points
    94
    Par défaut Calcul somme en fonction du numéro d'une semaine
    Bonjour à tous !

    J'essaie en ce moment de calculer une somme en fonction d'un paramètre qui est le numéro de la semaine associé à la cellule. Le problème est qu'il y a 365 jours et 53 paramètres à tester, je suis donc un peu perdu sur le moyen à mettre en place pour arriver à mes fins. Pour comprendre voici les screens des objets :

    Nom : Calendrier.JPG
Affichages : 5356
Taille : 89,4 Ko
    Voici le tableau pour le mois de janvier, dans la première ligne le numéro de la semaine correspondante à tester, et en vert les chiffres à additioner en fonction du numéro de la semaine.


    Nom : Résultat.jpg
Affichages : 4419
Taille : 47,9 Ko
    Et voici le résultat attendu, donc par exemple pour 1 je devrais trouver 14, pour la 2 35, etc...

    J'ai bien essayé avec SI, SOMME.SI, SOMME.SI.ENS, mais sans succès.

    Il doit me manquer une info :/

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Pour te donner la formule exacte, il faudrait que tu indiques les numéros de ligne et colonne de tes deux tableaux et, éventuellement, les noms d'onglets s'ils se trouvent dans des onglets différents.
    Autres question : ce qui se trouve ne entête de ton premier tableau (les dates), est-ce de vraies dates (des valeurs) ou du texte ? Par exemple, si tu utilises la fonction SEMAINE() appliquée à une de ces cellule, est-ce que ça te renvoie une valeur ou une erreur ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Membre régulier
    Inscrit en
    Mai 2012
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 219
    Points : 94
    Points
    94
    Par défaut
    Salut Menhir et merci d'avoir pris le temps de me lire !

    J'ai finalement résolu mon problème actuel en utilisant la formule suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMME.SI('Prévisionnel 2015'!$E$1:$NE$1;DECALER('Prévisionnel 2015'!V$1;;(COLONNE()-5)*6);'Prévisionnel 2015'!$E6:$NE6)
    Mais en fait je me suis aperçu que ça ne réglais pas la problèmatique car suivant les années mes semaines se décalent :/. En fait je dois me servir des jours de la semaine !

    Donc dans la feuille prévisionnel 2015 mes valeurs sont de e6 à NE70, ma ligne de dates est de e3 à NE3, et ce sont de vraies dates. La fonction semaine m'a donc renvoyé le numéro; et la fonction jour le numéro du jour. Alors peut-être en utilisant le numéro du jour pour additionner les dates de 1 à 7 ? Mais je ne sais pas comment faire ^^'.

  4. #4
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 413
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 413
    Points : 16 255
    Points
    16 255
    Par défaut
    Bonjour

    Tes numéros de semaine sont à l'américaine, ce qui n'est pas correct en France d'où sans doute le décalage.

    Par ailleurs évite les cellules fusionnées et utilise pour les numéros la ligne semaine au dessus de ta synthèse.
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  5. #5
    Membre régulier
    Inscrit en
    Mai 2012
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 219
    Points : 94
    Points
    94
    Par défaut
    Dacodac je comprends pour la semaine !

    Voici ce que j'essaie de faire pour les jours :

    Nom : Capture.PNG
Affichages : 4892
Taille : 24,5 Ko

    L'idée est de trouver la formule en B10, B11, B12, etc sur 365 jours de manière à ce que d'une année sur l'autre elle puisse encore fonctionner (sinon je ferais une simple somme^^').

  6. #6
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 413
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 413
    Points : 16 255
    Points
    16 255
    Par défaut
    Re


    J'ai du mal à suivre :
    • pourquoi utilises-tu la norme anglo saxone tant pour les semaines que pour les jours ?
    • Ton tableau commence tantôt au 1er janvier, tantôt au 1er octobre... et la synthèse change de sens.


    Dans ces conditions comment te donner une bonne formule ?
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  7. #7
    Membre régulier
    Inscrit en
    Mai 2012
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 219
    Points : 94
    Points
    94
    Par défaut
    En fait je ne mets pas tout pour ne pas surcharger les exemples, my bad ! Du coup je détailles :

    Mon tableau a 365 colonnes, correspondant aux jours de chaque année. Pour les besoins du calcul je dois faire commencer mes semaines un lundi et finir un dimanche. Au début j'ai voulu passer par le chiffre de la semaine que me donne Excel mais je me suis aperçu, non seulement que ça fonctionnait pas, mais qu'en plus ça ne me donnerais pas ce que je voulais.

    Donc j'ai pensé extraire le numéro du jour de la semaine qu'Excel attribue automatiquement avec
    Puis me servir de cette référence pour établir ma plage de calcul, qui doit aller du lundi au dimanche, soit de 1 à 7, puis de 1 à 7, etc...

    Pour la norme je ne connaissais pas son existence jusqu'à aujourd'hui donc je peux paraître approximatif, et pour la synthèse elle devra être plutôt par colonne que par ligne, comme dans mon premier screen, le suivant était pour simplifier.

    Ne jamais trop simplifier donc ^^'.

  8. #8
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 413
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 413
    Points : 16 255
    Points
    16 255
    Par défaut
    Re

    Ci-joins un tableau : j'ai évité les fioritures et fusions de cellules....
    Fichiers attachés Fichiers attachés
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  9. #9
    Membre régulier
    Inscrit en
    Mai 2012
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 219
    Points : 94
    Points
    94
    Par défaut
    Super c'est exactement ce que je cherchais .

    Par contre j'ai recopié bêtement la formule sans la comprendre, si tu avais la gentillesse de m'expliquer comment elle marche .

    Merci beaucoup en tout cas !

  10. #10
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 413
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 413
    Points : 16 255
    Points
    16 255
    Par défaut
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(B$16<>"";SOMMEPROD(($B$5:$NC$5>=$B$5+8-JOURSEM($B$5;2)+(7*(B$16-2)))*($B$5:$NC$5<=$B$5+7-JOURSEM($B$5;2)+(7*(B$16-1)));$B6:$NC6);"")
    Le SI permet de ne mettre la formule que s'il y a un n° de semaine au-dessus (le N° de semaine ne s'affiche que les lundis et le 1er janvier)

    SOMMEPROD permet de faire l'équivalent d'un SOMME.SI mais avec plus de latitude sur les formules imbriquées.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ($B$5:$NC$5>=$B$5+8-JOURSEM($B$5;2)+(7*(B$16-2))
    est la première condition : on vérifie si la période en ligne 5 (basée sur l'ensemble des dates du 1er janvier au 31/12) débute le premier jour de l'année $B$5 ou le lundi (grâce au calcul de la fin de la 1ère semaine $B$5+8-JOURSEM($B$5;2) ), ceci décalé de 7 jours en fonction du numéro de semaine en ligne 16 (7*(B$16-2).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ($B$5:$NC$5<=$B$5+7-JOURSEM($B$5;2)+(7*(B$16-1))
    est la seconde condition : on vérifie si la période se termine un dimanche en décalant de 7 jours en fonction du numéro de la semaine en ligne 16

    Si ces deux conditions sont réunies, la somme porte sur la plage en ligne 6.

    Après avoir posté, je me suis dit que j'aurais pu faire la même chose en utilisant des numéros de colonnes plutôt que les numéros de semaines mais comme tu prévoyais le numéro de semaine...

    On pourrait simplifier un peu avec une ou deux formules nommées pour le 1er dimanche par exemple...
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  11. #11
    Membre régulier
    Inscrit en
    Mai 2012
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 219
    Points : 94
    Points
    94
    Par défaut
    Impeccable, plus qu'à comprendre tout ça et à trouver comment se débarasser des espaces vides entre les résultats afin d'avoir 53 colonnes et non 365 ^^'.

  12. #12
    Membre averti
    Homme Profil pro
    Ctrl Gestion
    Inscrit en
    Octobre 2011
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ctrl Gestion
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2011
    Messages : 172
    Points : 356
    Points
    356
    Par défaut
    Bonjour Sardaucar, 78Chris, Le forum

    Suite à la proposition faite par 78Chris qui a retenu ton attention, et pour éviter les colonnes vides entre les semaines, je propose de travailler à partir des semaines selon la norme ISO et de l'année que l'on pourrait mettre en ligne 4 (ligne à masquer pour utilisation).
    Ensuite dans le tableau recap, on commencera au 1er janvier de l'année, date que l'on incrémentera de 7 jours pour avoir la semaine suivante. Là aussi on calculera l'année/semaine et la fonction proposée par 78Chris (sommeprod) en la modulant un peu devrait répondre à ta dernière demande.
    Voir exemple ci-joint, à adapter éventuellement par rapport à ton tableau de synthèse.
    Fichiers attachés Fichiers attachés

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Consultant
    Inscrit en
    Avril 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant

    Informations forums :
    Inscription : Avril 2015
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Je te conseillerais de faire un nouveau tableau a droite de celui la ou tu sommes les jours en semaine dans chaque colonne (de 1 à 52)
    et après tu peux sommer la colonne de la semaine en question
    j'ai fait pareil pour les semaines sommées en mois

    Cordialement,

Discussions similaires

  1. [XL-2010] Calcul Somme Colonne Listview Selon Valeur d'une autre colonne.
    Par alfadz dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 22/09/2014, 20h18
  2. Réponses: 3
    Dernier message: 22/02/2012, 14h37
  3. calcul de la fonction de transfert d'une fibre optique
    Par pfakhmaies dans le forum MATLAB
    Réponses: 1
    Dernier message: 16/04/2011, 08h35
  4. Réponses: 12
    Dernier message: 02/08/2009, 13h18
  5. [XI] Calculer le numéro d'une semaine à partir d'une date
    Par leloup84 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 23/04/2007, 14h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo