Importer des date du fichier 1 correspondante à des données fichier 2

Bonjour,

Je me suis lancé dans un truc dont je ne sais pas si c'est possible.

J'ai dans le fichier 1 :

- la colonne AX contient un N° de contrat

où actuellement je met, manuellement

- la date de traitement qui a eu lieu dans le fichier 2 (colonne P) (et dont le N° de contrat, lui est en B du fichier 2).

C'est assez lourd, car il faut copier le N° de contrat du fichier 1, faire CTRL F dans le 2 pour le trouver, puis ensuite trouver la date, la copier et retourner la coller dans le 1...

J'essaie de faire en sorte que dès que j'entre dans le fichier 1 un N° de contrat ( en AX) existant dans le fichier 2 (en B) + si dans le fichier 2 il existe une date correspondante, il me l'intègre tout seul dans le fichier 1.

je n'ai jamais manipuler ce type de 'copie' j'ai donc tenter en lisant quelques exemples :

=query(IMPORTRANGE("https://docs.google.com/spreadsheets/d/xxxxxxx";"P2:P");"select P where B like '"&AX2&"' ")

Forcément, çà ne fonctionne pas , çà aurait été trop beau. (A priori, si je comprend ma formule foireuse, je lui demande bien d'accéder au fichier 2, mais de traiter la requête P et B sur le fichier 1... ce qui ne fonctionne pas)

il est peut être impossible de faire cela me direz vous ?

Merci

Pour simplifier et aider à comprendre j'ai reproduit la chose :


Le fichier 1

Le fichier 2

J'ai retiré ma formule bidon qui ne fonctionne pas du tout. Juste placé l'importation de la colonne P du fichier 2 dans la colonne AZ du fichier 1 et comme prévu, les lignes importés sont dans l'ordre du fichier 2 donc aucun rapport avec la correspondance réelle en fichier 1.

j'ai :

report date foire1

alors que je devrais avoir

report date si formule ok

car dans le fichier 2 :

fichier 2 date report

Voilà, si vous avez la soluce, par avance merci.

Bonjour Sébastien,

C'est plutôt ce genre de syntaxe:

=query(IMPORTRANGE("https://docs.google.com/spreadsheets/d/xxxxxxxx";"A2:P");"select Col16 where Col2 like '"&AX2&"' ")

Cordialement,

Fil.

Parfait, tu est très fort, merci.

dans quel cas doit on utiliser ColX plutot que le système lettré des colonnes ? J'ai du mal à saisir la subtilité.

Correctif : Cela fonctionne dans les fichiers test mais à l'application dans le fichier final il me dit :

Impossible d'analyser la chaîne de requête pour Le paramètre 2 de la fonction QUERY : NO_COLUMN: Col16.

pourtant ce sont des copie conforme au niveau structure.

Encore ma faute, j'ai oublié de mettre A2:P à la place de P2:P)

Il s'avère que j'ai parfois 2 dates différentes dans le fichier 2, dans ce cas il m'affiche :

#REF!

Le résultat n'a pas été développé, pour ne pas écraser les données de GX.

Y-a-t-il moyen d'afficher les 2 dates ?

Ou la plus récentes ?

Merci

Pour Query:

https://www.sheets-pratique.com/fr/query

En particulier:

Plage renvoyée par une fonction

Dans tous les exemples de ce cours, la plage de données (contenant la base de données) était une plage de cellules.

Dans certains cas, cette plage de données n'est pas une plage de cellules mais une plage renvoyée par une autre fonction. Dans ce cas, il n'est pas possible d'utiliser les lettres des colonnes dans la requête.

Si la plage spécifiée dans la fonction QUERY n'est pas une plage de cellules, entrez Col suivi du numéro de colonne (au lieu d'utiliser les lettres des colonnes) :

=QUERY(UNIQUE('BD 2'!C1:H15);"SELECT Col1, Col3 WHERE Col4 = TRUE")

google-sheets-fonction-query-unique-col-col1-col2 - excel

Y-a-t-il moyen d'afficher les 2 dates ?

Oui, si il y a des lignes vides en dessous, sinon mets LIMIT 1 pour ne pas avoir de messages d'erreur...

Ou la plus récentes ?

Oui, avec MAX...

Je vais essayer, merci encore.

Merci çà fonctionne :)

Je n'avais pas anticipé un truc par contre, chaque fois que qq'un modifie le tableau 2, le tableau 1 se met en calcul de formule et vu que

cela arrive toute la journée

+ le nombre de ligne à vérifier,

cela ne s'arrête jamais..

j'arrive à faire un truc avec LIMIT ou OFFSET mais pas avec Max

En m'inspirant de tes formules précédentes avec max :

=query(A2:C;"select min(A), max(A) where C like '"&H2&"' group by C label min(A)'', max(A)''")

J'ai tenté entre autre :

=query(IMPORTRANGE("https://docs.google.com/spreadsheets/d/xxxxx";"A2:P");"select Col16, max(Col16) where Col2 like '"&A7&"' ")

mais il me met un message d'erreur que je comprend pas.

Impossible d'analyser la chaîne de requête pour Le paramètre 2 de la fonction QUERY : ADD_COL_TO_GROUP_BY_OR_AGG: Col16.

Bonjour Sébastien,

C'est parce que tu utilises une fonction d'agrégat, donc tu dois intégrer GROUP BY dans ta formule...

=query(IMPORTRANGE("https://docs.google.com/spreadsheets/d/xxxxx";"A2:P");"select Col16, max(Col16) where Col2 like '"&A7&"' GROUP BY Col16 LABEL max(Col16)'' ")

Cordialement,

Fil.

Rechercher des sujets similaires à "importer date fichier correspondante donnees"