Files
2026-07-10 16:01:48 +02:00

5.1 KiB

name, description
name description
BI-Import_donnees_eet Procedure Excel pour l'import mensuel des donnees EET (fournisseur) dans la table BI.dbo.achat_fournisseur_eet. A utiliser des que l'utilisateur envoie l'extract mensuel EET, ouvre le fichier "Import eet template", ou parle d'"integrer les donnees EET", "import eet", "achat_fournisseur_eet", "Achat TD INGRAM", "decouper par mois", "preparer le concat / la formule d'insert", ou d'ajouter la feuille du mois courant. Ce skill decrit uniquement des manipulations dans Excel (mise en forme du tableau du mois + formule CONCATENER a adapter) ; il ne genere pas de script.

Integrer les donnees EET (import mensuel dans Excel)

Contexte

Chaque mois, EET envoie un extract Excel de ses ventes : une colonne Customer Name puis une colonne par mois (2026M01, 2026M02, ...). Chaque envoi ajoute la colonne du mois qui vient d'etre cloture. Le travail consiste, dans Excel, a preparer la feuille du nouveau mois et a poser la formule d'insert SQL adaptee, puis a executer l'insert et verifier.

Fichier de travail (template qui contient la formule de reference et la liste des mois deja importes) : T:\XEFI_SOFTWARE\Exploitation\INTERNE\EQUIPE SI\BI\WORKSPACE\CREATION\achat franchise tech ingram\Import eet template.xlsx

Table de controle apres import : Menu general achats > Achat TD INGRAM.

Ce skill ne fait que des manipulations Excel. Ne pas ecrire de script : le but est de mettre en forme un tableau pour le mois et d'inserer la formule adaptee au mois.

Formule de reference

=CONCATENER("insert into BI.dbo.achat_fournisseur_eet (Customers,NetSellPrice,Quantity,party,BillingDocsDate,providers) values ('"&A5&"','"&B5&"',1,'"&A5&"','2026-01-01','eet')")

D'un mois a l'autre, seule la date BillingDocsDate change : c'est le 1er jour du mois traite (2026-06-01 pour juin, 2026-07-01 pour juillet, ...). A5 = Customer Name, B5 = valeur du mois (NetSellPrice), party reprend A5, providers reste 'eet'.

Etapes dans Excel

  1. Importer l'extract dans raw_data. Ouvrir le template ci-dessus. Coller le nouvel extract EET dans la feuille raw_data (en remplacant le precedent), puis mettre la plage sous forme de tableau : selectionner les donnees, Insertion > Tableau (ou Ctrl+L), cocher "Mon tableau comporte des en-tetes".

  2. Reperer le dernier mois. C'est la colonne mensuelle la plus a droite qui contient des valeurs (le nouveau mois, ex 2026M06). Verifier dans le suivi du template qu'il n'a pas deja ete importe, puis ne travailler que sur cette colonne.

  3. Creer la feuille du mois. Nouvelle feuille nommee en francais, sans accent : janvier, fevrier, mars, avril, mai, juin, juillet, aout, septembre, octobre, novembre, decembre.

  4. Remplir le tableau du mois. Dans raw_data, filtrer la colonne du mois pour exclure les cellules vides, puis reporter dans la feuille du mois :

    • colonne A : Customer Name (uniquement les clients ayant une valeur ce mois-la) ;
    • colonne B : la valeur du mois. Ne garder aucune ligne vide.
  5. Poser la formule d'insert adaptee. En C5 (1re ligne de donnees), reprendre la formule de reference en changeant la date pour le 1er du mois traite, puis l'etirer jusqu'en bas. Exemple pour juin :

    =CONCATENER("insert into BI.dbo.achat_fournisseur_eet (Customers,NetSellPrice,Quantity,party,BillingDocsDate,providers) values ('"&A5&"','"&B5&"',1,'"&A5&"','2026-06-01','eet')")
    
  6. Faire l'insert et verifier. Copier la colonne C (les inserts generes), les executer sur SQL Server, puis controler le resultat via Menu general achats > Achat TD INGRAM. Noter le mois comme importe dans le suivi du template.

Points de vigilance (fiabilite du SQL)

Ces deux points cassent silencieusement les inserts ; les verifier avant d'executer.

  • Decimales en virgule. En locale FR, "&B5&" transforme 25,51 en texte 25,51 (virgule), ce qui n'est pas du SQL valide. Deux facons de securiser :

    • s'assurer que la colonne B contient de vrais nombres (alignes a droite) et non du texte, et remplacer "&B5&" par une version qui force le point : "&SUBSTITUE(B5;",";".")&" (SUBSTITUE = SUBSTITUTE en anglais). Formule complete :

      =CONCATENER("insert into BI.dbo.achat_fournisseur_eet (Customers,NetSellPrice,Quantity,party,BillingDocsDate,providers) values ('"&A5&"','"&SUBSTITUE(B5;",";".")&"',1,'"&A5&"','2026-06-01','eet')")
      
    • si les valeurs arrivent en texte avec des espaces de milliers (1 250,00), retirer aussi les espaces : "&SUBSTITUE(SUBSTITUE(B5;" ";"");",";".")&".

  • Apostrophes dans les noms. Un nom comme O'Brien casse la requete. Doubler l'apostrophe avec SUBSTITUE(A5;"'";"''") a la place de A5 dans la formule.

A confirmer avec l'utilisateur en cas de doute

  • Plusieurs colonnes mensuelles remplies : confirmer lequel est le mois a importer.
  • Valeurs a zero : par defaut on les traite comme les autres ; a exclure seulement si l'utilisateur le precise.
  • party = Customer Name : c'est le format historique repris de la formule ; ne le signaler que si l'utilisateur attend autre chose.