Microsoft 365 problème dates et sommeprod

ababi

XLDnaute Nouveau
Bonjour,

Je cherche à faire le calcul d'un chiffre pour une personne donnée, à une certaine étape de devis, pour un certain mois et une typologie de client, depuis une feuille dont ces infos sont reprises sur différentes colonnes
J'utilise donc la fonction sommeprod(), avec laquelle je ne rencontre pas de souci, hormis quand je veux intégrer la date comme condition.

Dans ma feuille de données, mes dates sont au format texte jj-mm-aa

j'ai tenté à l'origine de rentrer l'argument ainsi :
(mois(dateval(données!h2:h100))=mois(aujourdhui()))
mais ça ne marche pas

J'ai ensuite créé une colonne supplémentaire dans ma feuille de données, à côté de la colonne des dates, qui "extrait" le mois de la date avec ce format :
=mois(dateval($h2)),
ce qui retourne bien le bon numéro de mois, et j'étire la formule sur la plage concernée
mais quand dans ma formule je modifie mon argument de sommeprod() ainsi :
(données!i2:i100=mois(aujourdhui()))
ça ne marche pas mieux

J'ai même tenté avec
(données!i2:i100=5),
ça ne marche toujours pas :(

A chaque fois, j'ai l'erreur #VALEUR

Pourtant, dans ma feuille de données, ma colonne i où j'extrais le mois via mois(dateval()) est bien sous format numérique, et si je fais uniquement dateval(), ça me retourne bien un format date apparaissant sous le format jj/mm/aa au lieu donc du texte jj-mm-aa

auriez-vous une piste ?

D'avance merci :)

cordialement,
alexandre
 
Solution
Le problème, c'est que le nombre de lignes que j'extrais du CRM et que je colle dans ma feuille "données" ne sont pas toujours aussi égales, cela va dépendre des mois.
J'ai modifié ma proposition initiale pour que tu puisses utiliser une plage fixe (allant par exemple de la ligne 3 à la ligne 1000).

Il serait peut-être plus pratique d'utiliser un tableau structuré pour tes données. 🤔

ababi

XLDnaute Nouveau
Pour les dates au format texte, c'est parce que les données sont extraites d'un CRM, "tiger"

je joins donc le fichier anonymisé :
sur la première feuille "mois en cours", il s'agit donc de faire un récap des différents chiffres qui m'intéressent
la feuille "données" correspond à un copié/collé du rapport extrait du CRM
la feuille "tridonnées" est une copie de la feuille précédente, mais avec la colonne où j'extrais le mois de la date via mois(dateval())

Dans la feuille "mois en cours" :
- dans la cellule A4, j'ai travaillé avec la formule "initiale" et l'argument complet (mois(dateval(données!e2:e1000))=mois(aujourdhui()))
- dans la cellule A7, j'ai simplifié la formule après avoir créé la colonne supplémentaire pour donner (tridonnées!f2:f1000=mois(aujourdhui()))
- dans la cellule D7, j'ai simplifié au max, avec (tridonnées!f2:f1000=6)

voilà voilà :)
 

Pièces jointes

  • MELISSA - report de chiffres moi courant.xlsx
    235.7 KB · Affichages: 6

soan

XLDnaute Barbatruc
Inactif
Bonsoir alexandre (ou Melissa ? 😜), Marcel, st007,

bienvenue sur le site XLD ! :)

Dans ma feuille de données, mes dates sont au format texte jj-mm-aa

dans ce cas, il faudra bien sûr ajouter le millésime :
19 ou 20 ; et 2022 n'est pas pareil que 1922 ! 😄
de même : 1902 n'est pas pareil que 2002 ! ;)

si ton fichier est sur de très anciennes dates,
essaye aussi 18, 17, 16, 15, 14...

(manque de pot, je crois que le devis sera largement périmé !)

soan
 

TooFatBoy

XLDnaute Barbatruc
Cellule A7 :

Premier problème : une partie de ta formule est (tridonnées!F2:F1000=AUJOURDHUI())
Dans ton fichier la colonne F est le numéro du mois, donc ça ne peut pas être égal à Aujourdhui(), donc il faut utiliser MOIS(AUJOURDHUI()). Mais tu le sais déjà, donc je pense que c'est juste une petite coquille.

Deuxième problème : dans ta formule tu utilises une plage allant jusqu'à la ligne 1000, mais tes données réelles s'arrêtent en fait à la ligne 137, et tu as donc des #VALEUR! à partir de la ligne 138 qui vont mettre le bazar dans ta formule utilisant SOMMEPROD.

Troisième problème : pour la deuxième partie de formule, tu as oublié de filtrer avec le mois.



Cellule D7 :

Problème : même remarque que précédemment, sur la plage de données.

Remarque : une partie de ta formule est (tridonnées!F2:F137=6)
Il n'est pas souhaitable de mettre le numéro du mois en dur dans la formule. Mais je suppose que c'était uniquement pour tester lors de la mise au point des formules.



Cellule G7 :

Problème : tu as oublié de filtrer avec le mois.



Cellule A4 :

Autant se référer aux données de la feuille "tridonnées", sans oublier de limiter la plage à la ligne 137. ;)



Remarques générales :

Pas besoin de valider sous forme matricielle les formules avec SOMMEPROD qui est déjà une fonction matricielle.

Plutôt que de se référer à AUJOURDHUI() dans tes formules, je crois qu'il serait mieux de se référer à la cellule A1.

Au lieu de
SOMMEPROD ( Cond1 * Cond2 * Cond3 ) + SOMMEPROD ( Cond1 * Cond2 * Cond4 )
tu peux utiliser
SOMMEPROD ( Cond1 * Cond2 * ( Cond3 + Cond4 ) )
C'est ce que j'ai fait en A7. ;)



Il ne te reste plus qu'à corriger tes formules en lignes 10 à 14. ;)
 
Dernière édition:

soan

XLDnaute Barbatruc
Inactif
Bonjour Marcel, le fil,

Un essai en transformant les fausses dates en vraies dates en pièce jointe.

ah ! alors tu admets que tu t'es servi de fausses dates ! "faux et usage de faux", ça va chercher loin ! mébon, si c'était pour transformer des fausses dates en vraies dates, tu es pardonné ! :) bien sûr, c'est pas aussi spectaculaire que de changer de l'eau en vin, mais comme tu ne t'appelles pas JC, on ne peut pas te demander d'en faire autant, n'est-ce pas ? 😜


préviens-moi quand même si jamais tu arrives à marcher sur l'eau : j'adore les scoops ! 😇

soan
 
Dernière édition:

soan

XLDnaute Barbatruc
Inactif
@Marcel32

Ben non, moi c'est pas Jean-Claude, c'est Marcel ici...

le JC de mon post #12, c'est pas Jean-Claude ! c'est un certain
Jésus-Christ (de Nazareth) ; paraît qu'il était charpentier. 😜

c'est un beau métier, de travailler le bois ! 👍 en plus, on dit que toucher du bois
porte chance ... mais en l'occurrence, ça n'a pas très bien marché pour lui !
😭




Marcher sur l'eau, tout le monde le fait aux sports d'hiver...

ah bon ? je croyais que les sports aquatiques, c'était plutôt
du côté de la plage que de la montagne ! 😄

quoique... y'a aussi des lacs d'altitude élevée, en haute montagne ! 😃
bien sûr, pour « marcher sur l'eau », un surf, ça aide bien ! 😊


🏄‍♂️ 🏄‍♀️

soan
 

ababi

XLDnaute Nouveau
plop :)

merci de tous vos retours, et désolé pour le délai de réponse,

au-delà des ratés de mes formules dans le fichier anonymisé, il apparaît donc que ce qui fait buguer ma formule de base, c'est donc ma plage :/

Le problème, c'est que le nombre de lignes que j'extrais du CRM et que je colle dans ma feuille "données" ne sont pas toujours aussi égales, cela va dépendre des mois.

Je vois, ST007, que tu as défini une sorte de "plage" qui résout ce problème, mais j'avoue ne pas savoir faire ça ^^
Faut-il définir quelque chose dans la feuille "données" ? ou le simple fait d'utiliser les en-tête de colonnes dans mes formules suffit pour que ce soit interprété ?

et merci pour l'info sur la somme dans sommeprod(), je ne savais pas :)

cdlt,
 

Discussions similaires

Statistiques des forums

Discussions
312 209
Messages
2 086 273
Membres
103 168
dernier inscrit
isidore33