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
-
Importer l'extract dans
raw_data. Ouvrir le template ci-dessus. Coller le nouvel extract EET dans la feuilleraw_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". -
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. -
Creer la feuille du mois. Nouvelle feuille nommee en francais, sans accent :
janvier, fevrier, mars, avril, mai, juin, juillet, aout, septembre, octobre, novembre, decembre. -
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.
- colonne A :
-
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')") -
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&"transforme25,51en texte25,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'Briencasse la requete. Doubler l'apostrophe avecSUBSTITUE(A5;"'";"''")a la place deA5dans 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.