erreur #EPARS!

blancolie

XLDnaute Impliqué
Bonjour le forum,

Comment peut on supprimer cette erreur ? je la rencontre avec cette formule dans l'onglet agents et dans le tableau récapitulatif des congés. La voici :

SI(B34:AF34<"R100";SOMMEPROD((GAUCHE(B34:AF34;1)="R")*SIERREUR((DROITE(B34:AF34;2)*1);0))/60;SOMMEPROD((GAUCHE(B34:AF34;1)="R")*SIERREUR((DROITE(B34:AF34;3)*1);0))/60)

le fichier parle de lui même.

Merci de m'aider à résoudre ce problème mais pouvez vous me l'expliquer SVP.

Cordialement
 

Pièces jointes

  • congés1.xlsx
    54.6 KB · Affichages: 12
Dernière édition:

eriiic

XLDnaute Barbatruc
Je n'ai pas cette erreur sur 2019.
Cependant regarde l'aide sur Equiv(), ton utilisation ne me parait pas très catholique.
Le 1er paramètre doit être la valeur cherchée, et tu y mets une matrice : 'Agent(s)'!B14:AF14

Pour construire une formule un peu compliquée il faut le faire par morceaux que tu testes, et que tu assembles en dernier.
eric
 

blancolie

XLDnaute Impliqué
d'accord,

cette formule n'utilise pas equiv du tout , j'ai juste utiliser si car je veux additionner des minutes en décimal et cest code comme ca R15 ( R =récupération et 15 =15 minutes. Pour cela, j'utilise sommeprod avec gauche et droite . gauche pour récupérer le R et droite pour récupérer 15. le soucis, c'est qu' a partir de R100 , cela ne fonctionne plus car pour la fonction droite , il récupere que les 2 chiffres (15), alors je demande à droite de récuperer les 3 chiffres : 100 mais quand j'utilise R15 ou R50 par exemple , cela ne fonctionne plus. Normal.

Donc je souhaite utiliser la fonction SI car si la plage indiqué comme la formule ci dessus , je demande si la plage est inférieur à R100 donc la fonction droite prendra les 2 premières chiffres et si c'est faux alors se sera 3. don cela devrait fonctionner.

Mais il y a ^pas equiv du tout.

merci encore
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour le fil,
"le fichier parle de lui même. " ... peut être mais pas à moi. Impossible de trouver où se trouve votre formule. ;)

Cependant je ne comprends ce que veut dire : SI(B34:AF34<"R100";
Comment une plage peut être inférieure à une chaine de caractères ?
A la limite <> pour dire différent, ou R100 si c'est une variable. Mais là ...
 

blancolie

XLDnaute Impliqué
La formule se trouve ds le tableau récapitulatif des congésJanvieret ds la cellule R dans l onglet agent. Regarder en haut la formule. Je voulais utiliser la fonction si car mon soucis la fonction droite, j ai un soucis . Dans le planning j ai R15= R= récupération et 15= 15 minutes. Et j ai aussi R100 donc la formule si me permettais d avoir d une part de prendre en considération ma première contrainte r15 et ma deuxième contrainte r100 c est pour ça que j ai demander que la plage soit inférieur à 100
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Je pense que votre solution n'est pas viable.
Pourquoi ne pas passer par esterreur?

=si(esterreur(formule avec 3 chiffres)=vrai;formule avec 2 chiffres;formule avec 3 chiffres)

Si la formule avec 3 chiffres donne une erreur c'est qu'on est en présence d'un Rxx donc on applique la formule avec 2 chiffres, sinon s'il n'y a pas d'erreur on est en présence d'une formule Rxxx type R100 alors on applique la formule à 3 chiffres. Du genre :

SI(ESTERREUR(SOMMEPROD((GAUCHE(B34:AF34;1)="R")*SIERREUR((DROITE(B34:AF34;3)*1);0))/60))=vrai;SOMMEPROD((GAUCHE(B34:AF34;1)="R")*SIERREUR((DROITE(B34:AF34;2)*1);0))/60;SOMMEPROD((GAUCHE(B34:AF34;1)="R")*SIERREUR((DROITE(B34:AF34;3)*1);0))/60)

Attention, formule non vérifiée.

Le mieux au départ est de décomposer la formule :

En AI15 : =SOMMEPROD((GAUCHE(B34:AF34;1)="R")*SIERREUR((DROITE(B34:AF34;2)*1);0))/60
En AI16 : =SOMMEPROD((GAUCHE(B34:AF34;1)="R")*SIERREUR((DROITE(B34:AF34;3)*1);0))/60
et en AI14 on choisit :
=SI(ESTERREUR(AI16)=VRAI;AI15;AI16)

si tout marche, cela permet ensuite de concaténer.

Bon courage, et Bonne année.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Quand on a une grande formule, il y a toutes les chances qu'une erreur se glisse.
La solution est de découpée cette formule en morceaux élémentaites pour les tester. Par ex comme ici :
Formule : =Si(Esterreur (Condition)=vrai;FormuleSiVrai;FormuleSiFaux)
Dans ce cas on met :
Dans une cellule (X1): =FormuleSiVrai qu'on peut tester à loisir.
Dans une autre (X2): =FormuleSiFaux qu'on peut tester à loisir.
Dans la troisieme (X3) =Si(Esterreur (Condition)=vrai;X1;X2)
On peut évaluer les formules avec Formules/Evaluation de formules.
Quand tout marche alors on concatène l'ensemble :
On remplace dans X3, X1 et X2 par leurs formules respectives ... si on veut qu'une seule formule sinon on laisees comme ça et on utilise trois cellules.

Cela semble compliqué, mais dès qu'on a compris le coup, on gagne énormément de temps sur les très grandes formules.
 

Statistiques des forums

Discussions
314 051
Messages
2 105 056
Membres
109 242
dernier inscrit
zaboul2