Microsoft 365 Liaisons entre classeurs

oderoaldes

XLDnaute Junior
Bonjour à totues et à tous,
Après avoir cherché sur différents forum et dans celui-ci, je ne trouve malheureusement pas la réponse à mon probléme.
Pour résumer j'ai :
- Un fichier Fournisseurs (F1) avec des référence et des prix. (F1) : "Tarif_FRSinterne .xlsm"

- un fichier de produits (F2) avec des références (les même) et des calculs sur les prix du F1- "Tarif_N.xlsx"
=> F1 et F2 sont liés par une "rechercheV" avec chemin complet.
=SI(C3<>"TECHNAL";SIERREUR(RECHERCHEV(A3;'W:\1-Tarif\2-Tarif Fournisseurs\4-ExerciceN\Tarif_FRSinterne .xlsm'!GEN;11;0);H3*1.12);SIERREUR(RECHERCHEV(A3;'W:\1-Tarif\2-Tarif Fournisseurs\4-ExerciceN\Tarif_FRSinterne .xlsm'!TEC;2;0);H3*1.12))

- environ 150 fichiers de nomenclatures de fabrication qui viennent taper dans F2 pour se mettre à jour, liés aussi par une "rechercheV" sur F2.
=RECHERCHEV(C5;[Tarif_N.xlsx]Feuil1!$A:$G;7;FAUX)/2.4

Mon problème est qu'a chaque ouverture d'un fichier de nomenclature, il n'est demandé de faire une mise à jour, qui me renvoie une erreur de type "fichier inconnu" et qui m'oblige à chaque fois de modifier le lien vers F2. Un fois que cela est fait la mise à jour du tarif Ok mais même si cette liaison est enregistrée, la manip est la même dans le cas d'une nouvelle ouverture.
Pour essayer d'être complet F1 et F2 sont fermés et localisés sur un serveur de données.
Merci de votre aide.
 

chris

XLDnaute Barbatruc
RE

Avec la 1ère colonne de BASE en texte dans la requête
1652973030741.png


Ou alors on ne parle pas de la même chose...

Si j'ai bien compris pour les Ref commençant pas SP

Une requête SP_Manquants
VB:
let
    Source = BASE,
    #"Autres colonnes supprimées1" = Table.SelectColumns(Source,{"Ref_mod"}),
    #"Lignes filtrées" = Table.SelectRows(#"Autres colonnes supprimées1", each Text.StartsWith([Ref_mod], "SP")),
    #"Lignes triées" = Table.Sort(#"Lignes filtrées",{{"Ref_mod", Order.Ascending}}),
    #"Index ajouté" = Table.AddIndexColumn(#"Lignes triées", "Index", 1, 1, Int64.Type),
    #"Personnalisée ajoutée" = Table.AddColumn(#"Index ajouté", "SP", each Number.From(Text.Select([Ref_mod],{"0".."9"}))),
    #"Requêtes fusionnées" = Table.NestedJoin(#"Personnalisée ajoutée", {"Index"}, #"Personnalisée ajoutée", {"SP"}, "Personnalisée ajoutée", JoinKind.LeftAnti),
    #"Personnalisée ajoutée1" = Table.AddColumn(#"Requêtes fusionnées", "Manquants", each "SP"&Number.ToText([Index],"0000")),
    #"Autres colonnes supprimées" = Table.SelectColumns(#"Personnalisée ajoutée1",{"Manquants"})
in
    #"Autres colonnes supprimées"
 
Dernière édition:

oderoaldes

XLDnaute Junior
Bonsoir, ce n'est pas tout à fait ça, en fait j'ai des formules numériques et alphanumériques dans le colonne ref ce qui me créé des problèmes d'affichage et de rechercheV.
Mais j'ai recommencé une requête en mettant la colonne ref en texte et modifé la formule pour la tienne comme tu me l'as dit.
Cela marche bien mais il faut maintenant que je repasse dans toutes les nomenclatures pour changer la requête et modifier_remplacer les formules. A priori ça se passe bien mais c'est hyper long.
Si tu as une autre idée !!!
 

oderoaldes

XLDnaute Junior
Bonjour,
Dans la suite de cette discussion j'ai mis en place grace à vos conseils et Power Query un fichier source "BASE" que j'ai intégré dans toutes mes nomenclatures et qui les met à jour après actualisation. Cela fonctionne parfaitement mais je viens de m'apercevoir que certaines références ne sont pas intégrées.
Dans l'onglet A (résultat de mon export) je trouver par exemple la référence 400415 colonne E : "Référence Interne"
Dans l'Onglet "BASE", généré par Power Query cette référence est absente.
Le fichier est malheureusement trop gros même zippé (5.5Mo) pour être envoyé, y a t'il une autre solution ? .
Les propriétés sont les suivantes : (voir fichier joint).
Pourriez vous m'aider à résoudre ce problème.
Merci d'avance.

L'idéal serait, afin d'éviter des exports de des manipulations, d'aller chercher directement les infos dans la base Sql, j'avais déjà fait cela avec une base SAGE et cela fonctionnait parfaitement mais le fournisseur de l'ERP actuel semble assez réfractaire à me donner accès aux tables.
 

Pièces jointes

  • Power Query prop.txt
    1.5 KB · Affichages: 1

chris

XLDnaute Barbatruc
Bonjour

Sans les données pas facile

Si je reprends le fichier du 19 mai il y a dans la colonne un mélange de références texte, nombre en texte et nombres

PowerQuery est d'une part sensible à la casse et d'autre part sensible au type des données : en cas de problème la ligne peut être en erreur et non restituée sans forcément bloquer tout.

As-tu moyen de mettre le fichier source Excel sur un site comme cjoint et poster le lien ici ou en MP ?
 

chris

XLDnaute Barbatruc
RE

Pourquoi travailler comme si c'était un classeur externe alors ?

Tu n'obtiens que ce qui correspond à la dernière sauvegarde, pas le contenu éventuellement modifié

Le problème vient des RECHERCHEV en erreur en colonne V : il faut encadrer dans un test d'Erreur
VB:
=SIERREUR(SI(A2<>"TECHNAL";E2;(RECHERCHEV(B2;Feuil1!A:B;2;0)));"")

Toute ligne en erreur bloque la requête
 

Statistiques des forums

Discussions
313 230
Messages
2 096 413
Membres
106 607
dernier inscrit
gaetanazertyuiop