Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

XL2003 et W10 2004, Sommeprod ne fonctionne pas toujours

10 réponses
Avatar
Jarobasearobase
Bonjour
Depuis peu j'ai Windows 10 2004 sur un poste fixe.

J'ai installé le même Excel pro 2003 SP3 + fileformatconverter que j'ai sur un netbook sous W7.

Sous W7, Excel est en version 11.8404.8405 et sommeprod fonctionne parfaitement

Sous W10, Excel est en version 11.8169.8172 et sommeprod ne fonctionne pas toujours.

Je n'ai pas trouvé de mises à jour.

Exemples : aaaa est 01/01/2020 sous le format aaaa

=SOMMEPROD(--(DROITE(entree;4)=TEXTE(I2;"aaaa"))*montant)
//ne donne pas de résultat alors qu'il y a des saisies 2018 et 2019.

=SOMMEPROD(--(DROITE(entree;4)<TEXTE(I2;"aaaa"))*montant)
//donne le total des montants sans distinction d'année.

=SOMMEPROD((DROITE(entree;4)>TEXTE(I2;"aaaa"))*(GAUCHE(entree;10)="cotisation")*montant)
//ne donne rien, alors qu'il y a des saisies 2021

=SOMMEPROD((--(GAUCHE(entree;10)<>"cotisation"))*montant)
//fonctionne correctement.

Donc un seul résultat correct sur 4 ...
Y aurait-il une solution ?

Merci
J@@

10 réponses

Avatar
MichD
Le 25/08/20 à 17:02, Jarobasearobase a écrit :
Bonjour
Depuis peu j'ai Windows 10 2004 sur un poste fixe.
J'ai installé le même Excel pro 2003 SP3 + fileformatconverter que j'ai
sur un netbook sous W7.
Sous W7, Excel est en version 11.8404.8405 et sommeprod fonctionne
parfaitement
Sous W10, Excel est en version 11.8169.8172 et sommeprod ne fonctionne
pas toujours.
Je n'ai pas trouvé de mises à jour.
Exemples : aaaa est 01/01/2020 sous le format aaaa
=SOMMEPROD(--(DROITE(entree;4)=TEXTE(I2;"aaaa"))*montant)
//ne donne pas de résultat alors qu'il y a des saisies 2018 et 2019.

Bonjour,
Essaie cette formule au lieu de la précédente :
=SOMMEPROD((ANNEE(Entree)=ANNEE(I2))*Montant)
Si tu obtiens le résultat désiré, tu adaptes les autres formules sous le
même principe.
MichD
=SOMMEPROD(--(DROITE(entree;4)<TEXTE(I2;"aaaa"))*montant)
//donne le total des montants sans distinction d'année.
=SOMMEPROD((DROITE(entree;4)>TEXTE(I2;"aaaa"))*(GAUCHE(entree;10)="cotisation")*montant)
//ne donne rien, alors qu'il y a des saisies 2021
=SOMMEPROD((--(GAUCHE(entree;10)<>"cotisation"))*montant)
//fonctionne correctement.
Donc un seul résultat correct sur 4 ...
Y aurait-il une solution ?
Merci
J@@
Avatar
Jarobasearobase
Le 25/08/2020 à 11:52, MichD a écrit :
Exemples : aaaa est 01/01/2020 sous le format aaaa
=SOMMEPROD(--(DROITE(entree;4)=TEXTE(I2;"aaaa"))*montant)
//ne donne pas de résultat alors qu'il y a des saisies 2018 et 2019.

Bonjour,
Essaie cette formule au lieu de la précédente :
=SOMMEPROD((ANNEE(Entree)=ANNEE(I2))*Montant)
Si tu obtiens le résultat désiré, tu adaptes les autres formules sous le même principe.
MichD

Bonjour,
et merci, mais cela donne #VALEUR!
Il n'y a pas qu'une date en colonne "entree"
Dans cette colonne "entree", j'ai tout plein de données : "cotisation DUPONT 2020" sans les "", ...
ces données étant saisies sur une autre page,
et I2 est 01/01/2020 au format aaaa
La formule compare les 4 chiffres de droite des données de la colonne entree à la valeur de l'année
en I2 pour avoir les totaux de l'année, des années précédentes, des ultérieures et des autres données.
Bien cordialement,
J@@
Avatar
MichD
Le 25/08/20 à 21:15, Jarobasearobase a écrit :
Le 25/08/2020 à 11:52, MichD a écrit :
Exemples : aaaa est 01/01/2020 sous le format aaaa
=SOMMEPROD(--(DROITE(entree;4)=TEXTE(I2;"aaaa"))*montant)
//ne donne pas de résultat alors qu'il y a des saisies 2018 et 2019.

Bonjour,
Essaie cette formule au lieu de la précédente :
=SOMMEPROD((ANNEE(Entree)=ANNEE(I2))*Montant)
Si tu obtiens le résultat désiré, tu adaptes les autres formules sous
le même principe.
MichD

Bonjour,
et merci, mais cela donne #VALEUR!
Il n'y a pas qu'une date en colonne "entree"
Dans cette colonne "entree", j'ai tout plein de données : "cotisation
DUPONT 2020" sans les "", ... ces données étant saisies sur une autre page,
et I2  est 01/01/2020 au format aaaa
La formule compare les 4 chiffres de droite des données de la colonne
entree à la valeur de l'année en I2 pour avoir les totaux de l'année,
des années précédentes, des ultérieures et des autres données.
Bien cordialement,
J@@

Bonjour,
| =SOMMEPROD(--(DROITE(entree;4)=TEXTE(I2;"aaaa"))*montant)
Si la colonne "Entree" contient ce type de données : du texte 2020
et que tu as une date en I2,
sur Excel 2016, cette formule fonctionne correctement,
=SOMMEPROD((DROITE(Entree;4)*1=ANNEE(I2))*Montant)
MichD
Avatar
MichD
Le 26/08/20 à 06:45, MichD a écrit :
Le 25/08/20 à 21:15, Jarobasearobase a écrit :
Le 25/08/2020 à 11:52, MichD a écrit :
Exemples : aaaa est 01/01/2020 sous le format aaaa
=SOMMEPROD(--(DROITE(entree;4)=TEXTE(I2;"aaaa"))*montant)
//ne donne pas de résultat alors qu'il y a des saisies 2018 et 2019.

Bonjour,
Essaie cette formule au lieu de la précédente :
=SOMMEPROD((ANNEE(Entree)=ANNEE(I2))*Montant)
Si tu obtiens le résultat désiré, tu adaptes les autres formules sous
le même principe.
MichD

Bonjour,
et merci, mais cela donne #VALEUR!
Il n'y a pas qu'une date en colonne "entree"
Dans cette colonne "entree", j'ai tout plein de données : "cotisation
DUPONT 2020" sans les "", ... ces données étant saisies sur une autre
page,
et I2  est 01/01/2020 au format aaaa
La formule compare les 4 chiffres de droite des données de la colonne
entree à la valeur de l'année en I2 pour avoir les totaux de l'année,
des années précédentes, des ultérieures et des autres données.
Bien cordialement,
J@@

Bonjour,
| =SOMMEPROD(--(DROITE(entree;4)=TEXTE(I2;"aaaa"))*montant)
Si la colonne "Entree" contient ce type de données : du texte 2020
et que tu as une date en I2,
sur Excel 2016, cette formule fonctionne correctement,
=SOMMEPROD((DROITE(Entree;4)*1=ANNEE(I2))*Montant)
MichD

Si tu as des données en A1:A5 ressemblant à :
Col Entre Col Montant En i2
dsd 2000 1 01/01/2020
dsdsd 2000 2
rhrhrh 2020 3
rhrhrh 4
dsdsd 2020 5
La formule suivante donne 11 comme résultat
Formule matricielle, validation par Ctrl + Maj + Enter
=SOMME(SI(NON(ESTERREUR(DROITE(Entree;4)*1=ANNEE(I2)));Montant))
Il est difficile d'écrire des formules lorsque l'on ne voit pas les données.
MichD
Avatar
MichD
Le 26/08/20 à 10:37, MichD a écrit :
Le 26/08/20 à 06:45, MichD a écrit :
Le 25/08/20 à 21:15, Jarobasearobase a écrit :
Le 25/08/2020 à 11:52, MichD a écrit :
Exemples : aaaa est 01/01/2020 sous le format aaaa
=SOMMEPROD(--(DROITE(entree;4)=TEXTE(I2;"aaaa"))*montant)
//ne donne pas de résultat alors qu'il y a des saisies 2018 et 2019.

Bonjour,
Essaie cette formule au lieu de la précédente :
=SOMMEPROD((ANNEE(Entree)=ANNEE(I2))*Montant)
Si tu obtiens le résultat désiré, tu adaptes les autres formules
sous le même principe.
MichD

Bonjour,
et merci, mais cela donne #VALEUR!
Il n'y a pas qu'une date en colonne "entree"
Dans cette colonne "entree", j'ai tout plein de données : "cotisation
DUPONT 2020" sans les "", ... ces données étant saisies sur une autre
page,
et I2  est 01/01/2020 au format aaaa
La formule compare les 4 chiffres de droite des données de la colonne
entree à la valeur de l'année en I2 pour avoir les totaux de l'année,
des années précédentes, des ultérieures et des autres données.
Bien cordialement,
J@@

Bonjour,
| =SOMMEPROD(--(DROITE(entree;4)=TEXTE(I2;"aaaa"))*montant)
Si la colonne "Entree" contient ce type de données : du texte 2020
et que tu as une date en I2,
sur Excel 2016, cette formule fonctionne correctement,
=SOMMEPROD((DROITE(Entree;4)*1=ANNEE(I2))*Montant)
MichD

Si tu as des données en A1:A5 ressemblant à :
 Col Entre     Col Montant    En i2
dsd 2000    1             01/01/2020
dsdsd 2000      2
rhrhrh 2020     3
rhrhrh          4
dsdsd 2020      5
La formule suivante donne 11 comme résultat
Formule matricielle, validation par Ctrl + Maj + Enter
=SOMME(SI(NON(ESTERREUR(DROITE(Entree;4)*1=ANNEE(I2)));Montant))
Il est difficile d'écrire des formules lorsque l'on ne voit pas les
données.
MichD

Si tu préfère "Sommeprod", la dernière formule peut s'écrire de cette
manière :
=SOMMEPROD((NON(ESTERREUR(DROITE(Entree;4)*1=ANNEE(I2))))*Montant)
MichD
Avatar
Jarobasearobase
Bonjour Denis,
tes propositions ne donnent pas les résultats excomptés.
Le fichier, allégé, est à l'adresse suivante :
https://www.cjoint.com/c/JHBdwMkhG18
Tout fonctionne sous Excel 2003sp3 sous Win 7, mais pas sous Win 10, cet Excel 2003sp3 étant "moins"
à jour.
Ce problème avec sommeprod, Excel 2003 et W10 est documenté sur Internet, mais la solution de mise à
jour n'est pas applicable.
Merci pour ton avis.
Cordialement
J@@
Avatar
MichD
Le 26/08/20 à 23:27, Jarobasearobase a écrit :
Bonjour Denis,
tes propositions ne donnent pas les résultats excomptés.
Le fichier, allégé, est à l'adresse suivante :
https://www.cjoint.com/c/JHBdwMkhG18
Tout fonctionne sous Excel 2003sp3 sous Win 7, mais pas sous Win 10, cet
Excel 2003sp3 étant "moins" à jour.
Ce problème avec sommeprod, Excel 2003 et W10 est documenté sur
Internet, mais la solution de mise à
jour n'est pas applicable.
Merci pour ton avis.
Cordialement
J@@

Bonjour,
Voilà ton fichier avec quelques explications à l'intérieur.
https://www.cjoint.com/c/JHBoGcXqUS3
Ce problème est au-delà de mes habiletés.
MichD
Avatar
Jarobasearobase
Voilà ton fichier avec quelques explications à l'intérieur.
https://www.cjoint.com/c/JHBoGcXqUS3
Ce problème est au-delà de mes habiletés.
MichD

Bonjour et merci pour ton aide,
Ton approche permet de contourner la difficulté due à un programme non mis à jour.
J'espérais qu'il existe quelque part les mises à jour nécessaires, mais n'ai rien trouvé.
Ton aide me permet de fonctionner correctement, en attendant peut-être de changer de version d'Excel.
Encore merci.
Bien cordialement,
J@@
Avatar
Jarobasearobase
Finalement il "suffisait" de transformer la référence aaaa en yyyy.
=SOMMEPROD(--(DROITE(entree;4)=TEXTE(I2;"aaaa"))*montant)
Je ne sais pas pourquoi mon W10 ne considère pas le format date de la même manière que mon W7.
Et comme je découvre tout juste ce W10 2004, je ne retrouve absolument pas mes marques pour vérifier
ce qui se passe sous le capot.
Tout va bien qui finit bien.
Encore merci Denis
J@@
Avatar
MichD
Le 30/08/20 à 01:36, Jarobasearobase a écrit :
Finalement il "suffisait" de transformer la référence aaaa en yyyy.
=SOMMEPROD(--(DROITE(entree;4)=TEXTE(I2;"aaaa"))*montant)
Je ne sais pas pourquoi mon W10 ne considère pas le format date de la
même manière que mon W7.
Et comme je découvre tout juste ce W10 2004, je ne retrouve absolument
pas mes marques pour vérifier ce qui se passe sous le capot.
Tout va bien qui finit bien.
Encore merci Denis
J@@

Merci du retour!
MichD