Problème recurrent après Refresh API

Bonjour

j'ai un problème de format semblerait-il.

lorsque je refresh ma base de donnée ( API ) je perd l'usage d'une formule... et j'ignore la raison. au départ je pensais a une mauvaise manipulation de ma part mais non? je ne touche a rien;

Voici ma formule

={"Start Rent";ARRAYFORMULA(SI(DATEVAL(STXT(RECHERCHEV($D$2:D,API,EQUIV("rentStartDate » date",ENTETE,0),FAUX),1,10))>=DATEVAL($B$2:B),DATEVAL(STXT(RECHERCHEV($D$2:D,API,EQUIV("rentStartDate » date",ENTETE,0),FAUX),1,10)),DATEVAL($B$2:B)))}

La plage ENTETE = API!B1:CQ1

La plage API = API!B1:CQ1000

elle me retourne une date selon des conditions, et elle va rechercher une date dans la base de donnée ( mon doc est en "Suisse" )

capture

et voici l'erreur retournée après refresh de l'API

"Impossible d'analyser le paramètre 44179 de la fonction DATEVALUE en tant que date/heure."

ce n'est pas un soucis de cellule vu ma formule qui effectue une recherche par rapport au titre des colonnes, et ce n'est pas un probleme de plage qui couvre l'API entiere.

donc je ne sais pas.

une idée ?

merci

Hello

Lorsque tu refresh, dans ta bdd, tu n'a pas une ligne à la date du 14/12/2020 dont le format serait différent?

Lorsque tu refresh, dans ta bdd, tu n'a pas une ligne à la date du 14/12/2020 dont le format serait différent?

non pourtant, tout comme l'en-tete qui reste identique

En utilisant ta formule DATEVAL(STXT(date;1;10)) avec une date en date/heure, je tombe sur le même problème.

Si inversement j'utilise juste DATEVAL(date) sur cette même matrice et que je met le format voulu sur la cellule où se trouve la formule (exemple format date simple) alors la formule fonctionne.

Plutôt que de vouloir utiliser STXT, pourquoi tu ne mets pas le format final désiré sur ta plage de cellule?

Il est probable que cela vienne de API qui si j'en crois la formule est le nom d'une zone, est-ce que c'est bien cela ?

Est-ce que après rafraîchissement, la zone API a-t-elle changée ? soit disparue, soit ratatinée à 1 ligne ?

Plutôt que de vouloir utiliser STXT, pourquoi tu ne mets pas le format final désiré sur ta plage de cellule?

Que je convertisse la plage de l'API en date ? c'est vrai qu'avant j'avais le doc en FR et je ne pouvais pas convertir comme je voulais. possible que ça fonctionne en effet.

je doit donc refaire complètement la formule de base du coup ensuite je suppose

Il est probable que cela vienne de API qui si j'en crois la formule est le nom d'une zone, est-ce que c'est bien cela ?

Est-ce que après rafraîchissement, la zone API a-t-elle changée ? soit disparue, soit ratatinée à 1 ligne ?

oui la plage "rentStartDate » date" est le nom de la colonne de l'API que j'utilise

et non pourtant c'est le meme nom de colonne et vu la fonction ça devrait la trouver quand meme (meme si elle change de numero de colonne)

Pour moi ce n'est pas ta matrice API dont tu dois changer le format, mais juste les cellules où tu as mis tes formules.

tu supprimes la formule STXT et tu mets à la place un format date sur ta plage de cellule contenant la formule.

avant

capture capture

APRES

capture

avec les erreurs que l'ont connais dans le tableau precedent.

et en faisant ces screens je viens de me rendre compte que le format était légèrement diffèrent

avant XXX-XX-XX HH:MM:SS:XXXX

apres XXX-XX-XX HH:MM:SS

il faut que j'intervienne sur la formule de base du coup ?

edit : aucuns impact pourtant vu que je recupere les 10 1ers caracteres

tu supprimes la formule STXT et tu mets à la place un format date sur ta plage de cellule contenant la formule

C'est déja un format date dans la colonne qui réceptionne la formule

tu supprimes la formule STXT et tu mets à la place un format date sur ta plage de cellule contenant la formule.

={"Start Rent";ARRAYFORMULA(SI(DATEVAL(RECHERCHEV($D$2:D,API,EQUIV("rentStartDate » date",ENTETE,0),FAUX))>=DATEVAL($B$2:B),DATEVAL(RECHERCHEV($D$2:D,API,EQUIV("rentStartDate » date",ENTETE,0),FAUX)),DATEVAL($B$2:B)))}

même erreur

une copie de la feuille (simplifiée) serait peut-être plus efficace !

une copie de la feuille (simplifiée) serait peut-être plus efficace !

c’était prévu en cas en cas de complication

https://docs.google.com/spreadsheets/d/199mvP7xxo9o2aAMmnUBnstHIomXZI8Nd2Zqoc4ts5CA/edit?usp=sharing

=SI(DATEVAL(RECHERCHEV($D2,API,EQUIV("rentStartDate » date",ENTETE,0),FAUX))>=DATEVAL($B2),DATEVAL(RECHERCHEV($D2,API,EQUIV("rentStartDate » date",ENTETE,0),FAUX)),DATEVAL($B2))

fonctionne très bien.

Mais en effet dès qu'on veut utiliser arrayformula, ca ne fonctionne plus

Bonjour

j'ai un problème de format semblerait-il.

lorsque je refresh ma base de donnée ( API ) je perd l'usage d'une formule... et j'ignore la raison. au départ je pensais a une mauvaise manipulation de ma part mais non? je ne touche a rien;

Voici ma formule

={"Start Rent";ARRAYFORMULA(SI(DATEVAL(STXT(RECHERCHEV($D$2:D,API,EQUIV("rentStartDate » date",ENTETE,0),FAUX),1,10))>=DATEVAL($B$2:B),DATEVAL(STXT(RECHERCHEV($D$2:D,API,EQUIV("rentStartDate » date",ENTETE,0),FAUX),1,10)),DATEVAL($B$2:B)))}

une idée ?

merci

comme ceci

={"Start Rent";ARRAYFORMULA(
IF( MID(VLOOKUP($D$2:D,API,MATCH("rentStartDate » date",ENTETE,0),FALSE),1,10)*1 >= ($B$2:B),
MID(VLOOKUP($D$2:D,API,MATCH("rentStartDate » date",ENTETE,0),FALSE),1,10)*1 ,
($B$2:B))
)}

STXT ou MID en anglais donne un texte et non une valeur (date), je multiplie donc par 1 pour transformer.

Le DATEVAL est même inutile.

Merci ! Comment expliquer que ça fonctionnait pendant tout ce temps alors ?

peut-être l'ambiguïté string/date lors de l'import ?

plus simple aussi sans STXT

={"Start Rent";ARRAYFORMULA(
IF( VLOOKUP($D$2:D,API,MATCH("rentStartDate » date",ENTETE,0),FALSE)*1 >= ($B$2:B),
VLOOKUP($D$2:D,API,MATCH("rentStartDate » date",ENTETE,0),FALSE)*1 ,
($B$2:B))
)}

je ferais un retour ici, lors du prochain refresh merci encore

Rechercher des sujets similaires à "probleme recurrent refresh api"