Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Gestion des ventes sur eBay | |
| | Auteur | Message |
---|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Gestion des ventes sur eBay Jeu 25 Oct 2012 - 18:40 | |
| J'ai fait une première version d'un logiciel qui permet de gérer des ventes effectuées sur eBay. Ce programme enregistre des ventes réalisées en mode "enchères", "achat immédiat" ou "petites annonces". Il suffit pour cela d'afficher la page du produit vendu APRES la vente, aller dans ce logiciel et cliquer sur un bouton "Charger". Le programme va alors extraire toutes les informations utiles de la page web (actuellement pour Firefox, mais l'adaptation à un autre browser est facile - une seule ligne). Tout est affiché dans des zones EDIT en haut de page. On peut alors modifier éventuellement ces informations, puis cliquer sur "Accepter". Les données sont alors ajoutées à un tableau dans un GRID. Le bouton "Accepter" vérifie que l'objet n'est pas déjà dans le tableau. On ne peut donc pas charger 2 fois le même produit. Le programme gère: - date et heure d'achat - numéro d'objet - libellé de l'objet - prix de vente - frais de livraison facturés - frais réels de livraison - frais eBay - frais PayPal Certaines de ces informations ne sont pas disponibles sur la page eBay du produit (fais PayPal, frais réels de livraison, ...). Leur valeur est à zéro par défaut et peut être modifiée ultérieurement. Le programme calcule le bénéfice net de la ligne par: bénéfice = px vente + frais livr. fact. - frais réels - fais eBay - frais PayPalUn second tableau en bas de page avec juste une seule ligne donne les totaux généraux de toutes les rubriques, montrant ainsi le béféfice réel global, entre autres. On peut sélectionner une ligne du tableau de détail en cliquant dedans. On peut alors: - rappeler la page produit eBay dans le browser (si le produit existe encore) - supprimer la ligne - modifier les frais réels, les frais eBay, les frais PayPal. Les données du tableau sont automatiquement sauvegardées dans un fichier ebay_ventes.txt et rechargées au démarrage du programme. Ce fichier est créé automatiquement au démarrage du programme, avec un tableau vide. Techniquement, le programme utilise KGF.dll et KGF_SUB.bas, toutes deux en dernière version (donc, à télé-charger en même temps sur MyDrive: dossier DLLs pour KGF.dll, dossier DLLs\KGF_SUB pour KGF_SUB.bas). C'est une première version. Il peut y avoir des bugs - signalez-les. Evolutions prévues: gérer dans le même programme les ventes sur d'autres sites comme LeBonCoin et VivaStreet, par exemple. - Code:
-
' ebay_ventes.bas ' ' Ce programme est un gestionnaire de ventes sur le site eBay. ' ' Il est conçu pour mémoriser les ventes réalisées par enchères, ' petites annonces et achat immmédiat. Il mémorise l'essentiel des ' informations: date, heure; numéro d'objet, libellé; prix de vente, ' frais de livraison. Il permet de saisir les frais eBay et les ' frais PayPal. Il calcule le bénéfice net pour chaque vente, et donne ' le total des objets vendus, ainsi que le total des valeurs par catégorie ' y compris le bénéfice net total. Tout est mémorisé dans un fichier ' texte nommé "ebay_ventes.txt". Ce fichier est créé vide au premier ' lancement, et chargé autimatiquement à chaque lancement suivant. Le ' tableau est sauvegardé automatiquement dans ce fichier à la sortie ' du programme. ' ' Ce programme fonctionne à partir de pages eBay mise en mémoire par ' ctrl/A ctrl/C (toute la page). Cette combinaison de touches met dans ' le presse-papier la partie purement "texte" de la page eBay. On utilise ' alors cette chaîne de caractères pour charger un memo caché afin de ' trouver les informations relevantes. Chaque information est recherchée ' selon des critères précis: La variable mode% donne le type de vante: ' mode% = 0 ==> type indéterminé ' mode% = 1 ==> vente sur enchères ' mode% = 2 ==> vente immédiate ' mode% = 3 ==> petite annonce ' ' Le bouton "Charger" cherche une page eBay dans Firefox (adaptations ' simples à faire pour d'autres explorateurs). Cette page sera entièrement ' copiée dans le presse-papier, puis dans un mémo cachée, afin d'être ' expoitée ligne par ligne. Seule la partie "texte" sera présente, sans ' les images et graphismes. ' ' Les informations relevantes sont affichées dans des champs en haut de ' la page. On peut alors les modifier. Ma fourche "Accepter" crée une ' nouvelle ligne dans le tableau, en calculant la marge nette et les ' totaux globaux. La marge nette est calculée comme suit: ' marge nette = prix vente + frais livraison - frais réels - frais eBay - frais PayPal ' ' Un clic dans une ligne sélectionnne celle-ci. Les boutons "Mod." ' permettent de modifier les frais réels de livraison, les frais eBay ' et les fraus PaiPal. Le bouton "Supprimer" supprime la ligne de la ' luste. Le bouton "Afficher" recharge la page Web du produit (si elle ' existe encore). ' ' '
' *** programme initial *************************************************** labels() constantes() variables() form0() GUI() initialisations()
end
' *** routines d'évènements *********************************************** charger: s$ = id_browser$ GetWindowByTitle(1,s$) hnd% = GetWindowByTitle% BringWindowToForeground(hnd%)
s$ = string$(255," ") GetActiveWindowTitle() s$ = GetActiveWindowTitle$ s$ = trim$(s$) if instr(s$, "sur eBay.fr" )=0 if left$(s$,6)<>"eBay |" message "Ce n'est pas une page eBay: "+s$ return end_if end_if
s$ = chr$(9)+chr$(9)+chr$(9)+chr$(9)+chr$(9)+chr$(9)+chr$(9)+chr$(9)+chr$(9) SendStringAsChars(hnd%,s$) s$ = chr$(1) SendStringAsText(hnd%,s$) pause 300 s$ = chr$(3) SendStringAsText(hnd%,s$) CopyToClipboard(hnd%)
BringWindowToForeground(handle(0))
clear no_ebay% s_org$ = clipboard_string_paste$ item_add no_ebay%,s_org$ text no_num%,"" text no_lib%,"" text no_prix%,"" text no_liv%,"" text no_lib%,"" text no_date%,"" text no_time%,"" text no_frais_ebay%,"" text no_frais_paypal%,"" display
s$ = item_read$(no_ebay%,1) if len(s$)>0 message "Il faut mémoriser une page produit eBay! ["+s$+"]" return end_if s$ = item_read$(no_ebay%,2) if s$<>"Accéder au contenu principal" message "Il faut mémoriser une page produit eBay! ["+s$+"]" return end_if s$ = item_read$(no_ebay%,3) if left$(s$,5)<>"eBay"+chr$(9) message "Il faut mémoriser une page produit eBay! ["+s$+"]" return end_if lib% = 0 prix% = 0 mode% = 0 if instr(s_org$,"Les enchères sur cet objet sont terminées.")>0 then mode% = 1 if instr(s_org$,"Cette vente avec l'option Achat immédiat est terminée.")>0 then mode% = 2 if instr(s_org$,"Petites Annonces :")>0 then mode% = 3 if mode%=0 message "Je n'ai pas pu déterminer le type de vente." return end_if
for i%=4 to count(no_ebay%) s$ = item_read$(no_ebay%,i%) ' === identifier les frais de livraison if mode%<3 p% = instr(s$,"Livraison :") if p%>0 s$ = mid$(s$,p%+12,len(s$)) p% = instr(s$," EUR") if p%>0 s$ = left$(s$,p%-1) text no_liv%,s$ end_if if instr(s$,"GRATUIT")>0 then text no_liv%,"0,00" end_if end_if if mode%=3 then text no_liv%,"0,00" ' === identifier le prix de vente if mode%<3 p% = instr(s$," EUR"+chr$(9)) if p%>0 s$ = left$(s$,p%+3) p% = instr(s$," :") if p%>0 then s$ = mid$(s$,p%+2,len(s$)) if left$(s$,1)=chr$(9) then s$ = mid$(s$,2,len(s$)) text no_prix%,left$(s$,len(s$)-4) end_if end_if if mode%=3 if left$(s$,18)="Petites Annonces :" prix% = i% + 2 end_if if i%=prix% text no_prix%,left$(s$,len(s$)-2) prix% = 0 end_if end_if ' === identifier le libellé de l'objet if mode%=1 if s$="Les enchères sur cet objet sont terminées." then lib% = 1 if (lib%=1) and (s$=chr$(9)) then lib% = i% + 1 end_if if mode%=2 if instr(s$,"Ajouté(s) à votre liste d'Affaires à suivre")>0 then lib% = 1 if (lib%=1) and (s$=chr$(9)) then lib% = i% + 1 end_if if mode%=3 if instr(s$,"Ajouter à vos Affaires à suivre")>0 then lib% = i% + 1 end_if if i%=lib% text no_lib%,s$ lib% = 0 end_if
' === identifier le numéro d'objet p% = instr(s$,"Numéro de l'objet :") if p%>0 s$ = mid$(s$,p%,len(s$)) p% = instr(s$,":") text no_num%,mid$(s$,p%+2,len(s$)) end_if ' === identifier date et heure de la fin des enchères p% = instr(s$,"Fin :"+chr$(9)) if p%>0 text no_date%,mid$(s$,p%+6,12) text no_time%,mid$(s$,p%+18,8) end_if ' === frais réels de livraison, frais eBay et frais PayPal text no_frais_reel%,"0,00" text no_frais_ebay%,"0,00" text no_frais_paypal%,"0,00"
next i% return
accepter: if n_table%>0 for i%=1 to n_table% s$ = grid_read$(no_table%,i%+1,4) if s$=text$(no_num%) message "Cet objet est déjà dans la liste !" return end_if next i% end_if n_table% = n_table% + 1 grid_row no_table%,n_table% + 1 grid_write no_table%,n_table%+1,1,str$(n_table%) grid_write no_table%,n_table%+1,2,text$(no_date%) grid_write no_table%,n_table%+1,3,text$(no_time%) grid_write no_table%,n_table%+1,4,text$(no_num%) grid_write no_table%,n_table%+1,5,text$(no_lib%) grid_write no_table%,n_table%+1,6,text$(no_prix%) grid_write no_table%,n_table%+1,7,text$(no_liv%) grid_write no_table%,n_table%+1,8,text$(no_frais_ebay%) grid_write no_table%,n_table%+1,9,text$(no_frais_paypal%) calculer_marge(n_table%+1) totaux_plus(n_table%+1) if n_table%=1 then grid_row_fixed no_table%,1 return afficher: i% = mouse_y_left_down(no_table%) i% = grid_y_to_row(no_table%,i%) if i%=1 then return s$ = id_browser$ GetWindowByTitle(1,s$) hnd% = GetWindowByTitle% BringWindowToForeground(hnd%) s$ = chr$(20)+ebay_search$+grid_read$(no_table%,i%,4)+chr$(13) SendStringAsText(hnd%,s$) return supprimer: i% = mouse_y_left_down(no_table%) i% = grid_y_to_row(no_table%,i%) if i%=1 then return s$ = grid_read$(no_table%,i%,4) +": "+ grid_read$(no_table%,i%,5) if message_confirmation_yes_no("Vraiment supprimer: "+s$)=1 totaux_moins(i%) grid_row_delete no_table%,i% n_table% = n_table% - 1 end_if return close0: grid_save no_table%,n_table%+1,c_table%,f_base$ return
click_table: col% = mouse_x_left_down(no_table%) col% = grid_x_to_column(no_table%,col%) if col%=4 then set_focus no_afficher% if col%=8 then set_focus no_mod_frais_reel% if col%=9 then set_focus no_mod_frais_ebay% if col%=10 then set_focus no_mod_frais_paypal% return mod_reel: i% = mouse_y_left_down(no_table%) i% = grid_y_to_row(no_table%,i%) if i%=1 then return s$ = grid_read$(no_table%,i%,8) s1$ = grid_read$(no_table%,i%,5) s2$ = grid_read$(no_table%,i%,4) if message_input("Frais livraison réels "+s2$,s1$+": "+s$,s$)=1 s2$ = message_text$ p% = instr(s2$,",") if p%>0 then s2$ = left$(s2$,p%-1) + "." + mid$(s2$,p%+1,len(s2$)) if s2$="" then s2$ = "0.00" if instr(s2$,".")=0 then s2$ = s2$ + ".00" if instr(s2$,".")=len(s2$)-1 then s2$ = s2$ + "0" if numeric(s2$)=0 then message "x" if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) reel_total = reel_total - val(s$) + val(s2$) marge_total = marge_total + val(s$) - val(s2$) grid_write no_table%,i%,8,s2$ calculer_marge(i%) totaux_afficher() end_if return mod_ebay: i% = mouse_y_left_down(no_table%) i% = grid_y_to_row(no_table%,i%) if i%=1 then return s$ = grid_read$(no_table%,i%,9) s1$ = grid_read$(no_table%,i%,5) s2$ = grid_read$(no_table%,i%,4) if message_input("Frais eBay objet "+s2$,s1$+": "+s$,s$)=1 s2$ = message_text$ p% = instr(s2$,",") if p%>0 then s2$ = left$(s2$,p%-1) + "." + mid$(s2$,p%+1,len(s2$)) if s2$="" then s2$ = "0.00" if instr(s2$,".")=0 then s2$ = s2$ + ".00" if instr(s2$,".")=len(s2$)-1 then s2$ = s2$ + "0" if numeric(s2$)=0 then message "x" if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) ebay_total = ebay_total - val(s$) + val(s2$) marge_total = marge_total + val(s$) - val(s2$) grid_write no_table%,i%,9,s2$ calculer_marge(i%) totaux_afficher() end_if return
mod_paypal: i% = mouse_y_left_down(no_table%) i% = grid_y_to_row(no_table%,i%) if i%=1 then return s$ = grid_read$(no_table%,i%,19) s1$ = grid_read$(no_table%,i%,5) s2$ = grid_read$(no_table%,i%,4) if message_input("Frais PayPal objet "+s2$,s1$+": "+s$,s$)=1 s2$ = message_text$ p% = instr(s2$,",") if p%>0 then s2$ = left$(s2$,p%-1) + "." + mid$(s2$,p%+1,len(s2$)) if s2$="" then s2$ = "0.00" if instr(s2$,".")=0 then s2$ = s2$ + ".00" if instr(s2$,".")=len(s2$)-1 then s2$ = s2$ + "0" if numeric(s2$)=0 then message "x" if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) paypal_total = paypal_total - val(s$) + val(s2$) marge_total = marge_total + val(s$) - val(s2$) grid_write no_table%,i%,10,s2$ calculer_marge(i%) totaux_afficher() end_if return
' *** procédures du programme initial ************************************* sub labels() label close0, charger, accepter, afficher, supprimer, click_table label mod_ebay, mod_paypal, mod_reel end_sub
sub constantes() dim c_table% : c_table% = 11 dim f_base$ : f_base$ = "ebay_ventes.txt" dim id_browser$ : id_browser$ = " - Mozilla Firefox" dim ebay_search$ : ebay_search$ = "http://cgi.ebay.fr/ws/eBayISAPI.dll?ViewItem&item=" end_sub
sub variables() dim no%, s$, s1$, s2$, s_org$, i%, p% dim lib%, prix%, i1%, n%, mode%, col%, nom$, hnd% dim no_ebay%, no_num%, no_lib%, no_prix%, no_liv% dim no_date%, no_time%, no_table%, no_total%, no_frais_reel% dim no_mod_frais_ebay%, no_mod_frais_paypal%, no_mod_frais_reel% dim no_frais_ebay%, no_frais_paypal%, no_afficher% dim n_table%, marge dim prix_total, liv_total, reel_total, ebay_total, paypal_total, marge_total end_sub
sub form0() width 0,1050 : height 0,800 on_close 0,close0 end_sub
sub GUI() ' no% = no% + 1 : dlist no% : no_temp% = no% no% = no% + 1 : memo no% : no_ebay% = no% : width no%,900 hide no% no% = no% + 1 : button no% : top no%,10 : left no%,10 caption no%,"Charger" : on_click no%,charger no% = no% + 1 : button no% : top no%,70 : left no%,10 caption no%,"Accepter" : on_click no%,accepter no% = no% + 1 : alpha no% top no%,10 : left no%,120 : caption no%,"Objet:" no% = no% + 1 : edit no% : no_num% = no% top no%,10 : left no%,160 no% = no% + 1 : alpha no% top no%,10 : left no%,300 : caption no%,"Titre:" no% = no% + 1 : edit no% : no_lib% = no% : width no%,400 top no%,10 : left no%,360 no% = no% + 1 : alpha no% top no%,40 : left no%,120 : caption no%,"Prix:" no% = no% + 1 : edit no% : no_prix% = no% top no%,40 : left no%,160 : width no%,80 no% = no% + 1 : alpha no% top no%,40 : left no%,300 : caption no%,"Livraison:" no% = no% + 1 : edit no% : no_liv% = no% top no%,40 : left no%,360 : width no%,50 no% = no% + 1 : alpha no% top no%,40 : left no%,430 : caption no%,"Frais réels:" no% = no% + 1 : edit no% : no_frais_reel% = no% top no%,40 : left no%,510 : width no%,50 no% = no% + 1 : alpha no% top no%,40 : left no%,580 : caption no%,"Date:" no% = no% + 1 : edit no% : no_date% = no% top no%,40 : left no%,620 : width no%,80 no% = no% + 1 : alpha no% top no%,40 : left no%,730 : caption no%,"Heure:" no% = no% + 1 : edit no% : no_time% = no% top no%,40 : left no%,780 : width no%,60 no% = no% + 1 : alpha no% top no%,70 : left no%,300 : caption no%,"Frais eBay:" no% = no% + 1 : edit no% : no_frais_ebay% = no% top no%,70 : left no%,360 : width no%,50 no% = no% + 1 : alpha no% top no%,70 : left no%,430 : caption no%,"Frais PayPal:" no% = no% + 1 : edit no% : no_frais_paypal% = no% top no%,70 : left no%,510 : width no%,50
no% = no% + 1 : grid no% : no_table% = no% top no%,130 : left no%,c_table% : width no%,1027 : height no%,503 on_click no%,click_table grid_row no%,1 : grid_column no%,c_table% grid_one_column_width no%,1,50 grid_write no%,1,1,"No." grid_one_column_width no%,2,80 grid_write no%,1,2,"Date" grid_one_column_width no%,3,60 grid_write no%,1,3,"Heure" grid_one_column_width no%,4,80 grid_write no%,1,4,"Objet" grid_one_column_width no%,5,400 grid_write no%,1,5,"Titre" grid_one_column_width no%,6,80 grid_write no%,1,6,"Prix" grid_one_column_width no%,7,50 grid_write no%,1,7,"Livraison" grid_one_column_width no%,8,50 grid_write no%,1,8,"Frais réels" grid_one_column_width no%,9,50 grid_write no%,1,9,"eBay" grid_one_column_width no%,10,50 grid_write no%,1,10,"PayPal" grid_one_column_width no%,11,50 grid_write no%,1,11,"Marge"
no% = no% + 1 : grid no% : no_total% = no% top no%,640 : left no%,10 : width no%,1027 : height no%,56 grid_row no%,2 : grid_column no%,c_table% grid_one_column_width no%,1,50 grid_write no%,1,1,"Total" grid_one_column_width no%,2,80 grid_one_column_width no%,3,60 grid_one_column_width no%,4,80 grid_one_column_width no%,5,400 grid_one_column_width no%,6,80 grid_write no%,1,6,"Prix" grid_one_column_width no%,7,50 grid_write no%,1,7,"Livraison" grid_one_column_width no%,8,50 grid_write no%,1,8,"Frais réels" grid_one_column_width no%,9,50 grid_write no%,1,9,"eBay" grid_one_column_width no%,10,50 grid_write no%,1,10,"PayPal" grid_one_column_width no%,11,50 grid_write no%,1,11,"Marge"
no% = no% + 1 : button no% : top no%,100 : left no%,205 caption no%,"Afficher" : on_click no%,afficher : no_afficher% = no% no% = no% + 1 : button no% : top no%,100 : left no%,400 caption no%,"Supprimer" : on_click no%,supprimer no% = no% + 1 : button no% : top no%,100 : left no%,820 : width no%,50 caption no%,"Mod." : on_click no%,mod_reel : no_mod_frais_reel% = no% no% = no% + 1 : button no% : top no%,100 : left no%,870 : width no%,50 caption no%,"Mod." : on_click no%,mod_ebay : no_mod_frais_ebay% = no% no% = no% + 1 : button no% : top no%,100 : left no%,920 : width no%,50 caption no%,"Mod." : on_click no%,mod_paypal : no_mod_frais_paypal% = no%
end_sub
sub initialisations() dim_local s1$ n_table% = 0 prix_total = 0 liv_total = 0 if file_exists(f_base$)=1 then grid_load no_table%,f_base$ n_table% = 1 repeat s1$ = grid_read$(no_table%,n_table%+1,1) if s1$="" then exit_repeat totaux_plus(n_table%+1) n_table% = n_table% + 1 until s1$="" grid_row no_table%, n_table% n_table% = n_table% - 1 if n_table%>0 then grid_row_fixed no_table%,1 KGF_initialize("KGF.dll") nom$ = "firefox.exe" hnd% = dll_call1("GetProcessWindowHandle",adr(nom$))
end_sub
' *** procédures de l'application ***************************************** sub totaux_plus(ind%) s$ = grid_read$(no_table%,ind%,6) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) prix_total = prix_total + val(s$) s$ = grid_read$(no_table%,ind%,7) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) liv_total = liv_total + val(s$) s$ = grid_read$(no_table%,ind%,8) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) reel_total = reel_total + val(s$) s$ = grid_read$(no_table%,ind%,9) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) ebay_total = ebay_total + val(s$) s$ = grid_read$(no_table%,ind%,10) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) paypal_total = paypal_total + val(s$) s$ = grid_read$(no_table%,ind%,11) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge_total = marge_total + val(s$) totaux_afficher() end_sub
sub totaux_moins(ind%) s$ = grid_read$(no_table%,ind%,6) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) prix_total = prix_total - val(s$) s$ = grid_read$(no_table%,ind%,7) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) liv_total = liv_total - val(s$) s$ = grid_read$(no_table%,ind%,8) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) reel_total = reel_total - val(s$) s$ = grid_read$(no_table%,ind%,9) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) ebay_total = ebay_total - val(s$) s$ = grid_read$(no_table%,ind%,10) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) paypal_total = paypal_total - val(s$) totaux_afficher() s$ = grid_read$(no_table%,ind%,11) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge_total = marge_total - val(s$) totaux_afficher() end_sub
sub totaux_afficher() grid_write no_total%,2,1,str$(n_table%) s$ = str$(prix_total) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,2,6,s$ s$ = str$(liv_total) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,2,7,s$ s$ = str$(reel_total) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,2,8,s$ s$ = str$(ebay_total) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,2,9,s$ s$ = str$(paypal_total) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,2,10,s$ s$ = str$(marge_total) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,2,11,s$ end_sub
sub calculer_marge(ind%) s$ = grid_read$(no_table%,ind%,6) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge = val(s$) s$ = grid_read$(no_table%,ind%,7) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge = marge + val(s$) s$ = grid_read$(no_table%,ind%,8) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge = marge - val(s$) s$ = grid_read$(no_table%,ind%,9) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge = marge - val(s$) s$ = grid_read$(no_table%,ind%,10) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge = marge - val(s$) s$ = str$(marge) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_table%,ind%,11,s$ end_sub
#INCLUDE "KGF_SUB.bas"
EDIT Le code est modifié pour tirer aventage de la toute nouvelle version V0.24i5 avec GRID_ROW_DELETE ! | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Gestion des ventes sur eBay Ven 26 Oct 2012 - 14:09 | |
| Et voici une nouvelle version, gérant 2 sites: - eBay = site principal, affiché par défaut, et regroupant les totaux de tous les sites et les totaux généraux - LeBonCoi = 1er site annexe Les totaux des sites annexes seront reportés automatiquement dans le tableau des totaux en bas de la page principale (eBay). On choisit un site par un combo en haut à droite de l'écran.Le choix d'un site annexe cache se site principal et affiche la page de ce site. En fermant la page du site annexe par la croix rouge, la pare principale réapparaît, mais les données ne sont pas perdues. A la fin, les tableaux de chaque site sont sauvegardés dans des fichiers (ebay_ventes.txt, leboncoin_ventes.txt, ...) et ces fichiers sont rechargés automatiquement au démarrage. Les totaux par site et totaux généraux ne sont pas sauvegardés, mais recalculés après le rechargement des tableaux. - Code:
-
' ebay_ventes.bas ' ' Ce programme est un gestionnaire de ventes sur le site eBay et ' autres sites de vente. A ce jour, les sites suivants sont gérés: ' eBay ' LeBonCoin ' La description qui suit est ciblé sur eBay, de loin le site le plus ' complexe. Pour les autres sites, le principe est le même, mais il y a ' moins d'informations pour chaque produit. On choisit un site par le ' combo en haut à droite de la page. La page du site en cours disparaît ' et la page du site choisi apparaît. La fermeture d'une page d'un site ' autre que eBay ferme cette page et revient sur la page eBay. La ' fermeture de la page eBay sauvegarde les données de TOUS les sites, ' puis termne l'application.. ' ' Il est conçu pour mémoriser les ventes réalisées par enchères, ' petites annonces et achat immmédiat. Il mémorise l'essentiel des ' informations: date, heure; numéro d'objet, libellé; prix de vente, ' frais de livraison. Il permet de saisir les frais eBay et les ' frais PayPal. Il calcule le bénéfice net pour chaque vente, et donne ' le total des objets vendus, ainsi que le total des valeurs par catégorie ' y compris le bénéfice net total. Tout est mémorisé dans un fichier ' texte nommé "ebay_ventes.txt". Ce fichier est créé vide au premier ' lancement, et chargé autimatiquement à chaque lancement suivant. Le ' tableau est sauvegardé automatiquement dans ce fichier à la sortie ' du programme. ' ' Ce programme fonctionne à partir de pages eBay mise en mémoire par ' ctrl/A ctrl/C (toute la page). Cette combinaison de touches met dans ' le presse-papier la partie purement "texte" de la page eBay. On utilise ' alors cette chaîne de caractères pour charger un memo caché afin de ' trouver les informations relevantes. Chaque information est recherchée ' selon des critères précis: La variable mode% donne le type de vante: ' mode% = 0 ==> type indéterminé ' mode% = 1 ==> vente sur enchères ' mode% = 2 ==> vente immédiate ' mode% = 3 ==> petite annonce ' ' Le bouton "Charger" cherche une page eBay dans Firefox (adaptations ' simples à faire pour d'autres explorateurs). Cette page sera entièrement ' copiée dans le presse-papier, puis dans un mémo cachée, afin d'être ' expoitée ligne par ligne. Seule la partie "texte" sera présente, sans ' les images et graphismes. ' ' Les informations relevantes sont affichées dans des champs en haut de ' la page. On peut alors les modifier. Ma fourche "Accepter" crée une ' nouvelle ligne dans le tableau, en calculant la marge nette et les ' totaux globaux. La marge nette est calculée comme suit: ' marge nette = prix vente + frais livraison - frais réels - frais eBay - frais PayPal ' ' Un clic dans une ligne sélectionnne celle-ci. Les boutons "Mod." ' permettent de modifier les frais réels de livraison, les frais eBay ' et les fraus PaiPal. Le bouton "Supprimer" supprime la ligne de la ' luste. Le bouton "Afficher" recharge la page Web du produit (si elle ' existe encore). ' ' '
' *** programme initial *************************************************** labels() constantes() variables() form0() GUI() initialisations()
end
' *** routines d'évènements *********************************************** charger1: get_browser() if instr(s$, "sur eBay.fr" )=0 if left$(s$,6)<>"eBay |" BringWindowToForeground(handle(0)) message "Ce n'est pas une page eBay: "+s$ return end_if end_if get_page_text() BringWindowToForeground(handle(0))
clear no_ebay% s_org$ = clipboard_string_paste$ item_add no_ebay%,s_org$ text no_num%,"" text no_lib%,"" text no_prix%,"" text no_liv%,"" text no_lib%,"" text no_date%,"" text no_time%,"" text no_frais_ebay%,"" text no_frais_paypal%,"" display
s$ = item_read$(no_ebay%,1) if len(s$)>0 message "Il faut mémoriser une page produit eBay! ["+s$+"]" return end_if s$ = item_read$(no_ebay%,2) if s$<>"Accéder au contenu principal" message "Il faut mémoriser une page produit eBay! ["+s$+"]" return end_if s$ = item_read$(no_ebay%,3) if left$(s$,5)<>"eBay"+chr$(9) message "Il faut mémoriser une page produit eBay! ["+s$+"]" return end_if lib% = 0 prix% = 0 mode% = 0 if instr(s_org$,"Les enchères sur cet objet sont terminées.")>0 then mode% = 1 if instr(s_org$,"Cette vente avec l'option Achat immédiat est terminée.")>0 then mode% = 2 if instr(s_org$,"Petites Annonces :")>0 then mode% = 3 if mode%=0 message "Je n'ai pas pu déterminer le type de vente." return end_if
for i%=4 to count(no_ebay%) s$ = item_read$(no_ebay%,i%) ' === identifier les frais de livraison if mode%<3 p% = instr(s$,"Livraison :") if p%>0 s$ = mid$(s$,p%+12,len(s$)) p% = instr(s$," EUR") if p%>0 s$ = left$(s$,p%-1) text no_liv%,s$ end_if if instr(s$,"GRATUIT")>0 then text no_liv%,"0,00" end_if end_if if mode%=3 then text no_liv%,"0,00" ' === identifier le prix de vente if mode%<3 p% = instr(s$," EUR"+chr$(9)) if p%>0 s$ = left$(s$,p%+3) p% = instr(s$," :") if p%>0 then s$ = mid$(s$,p%+2,len(s$)) if left$(s$,1)=chr$(9) then s$ = mid$(s$,2,len(s$)) text no_prix%,left$(s$,len(s$)-4) end_if end_if if mode%=3 if left$(s$,18)="Petites Annonces :" prix% = i% + 2 end_if if i%=prix% text no_prix%,left$(s$,len(s$)-2) prix% = 0 end_if end_if ' === identifier le libellé de l'objet if mode%=1 if s$="Les enchères sur cet objet sont terminées." then lib% = 1 if (lib%=1) and (s$=chr$(9)) then lib% = i% + 1 end_if if mode%=2 if instr(s$,"Ajouté(s) à votre liste d'Affaires à suivre")>0 then lib% = 1 if (lib%=1) and (s$=chr$(9)) then lib% = i% + 1 end_if if mode%=3 if instr(s$,"Ajouter à vos Affaires à suivre")>0 then lib% = i% + 1 end_if if i%=lib% text no_lib%,s$ lib% = 0 end_if
' === identifier le numéro d'objet p% = instr(s$,"Numéro de l'objet :") if p%>0 s$ = mid$(s$,p%,len(s$)) p% = instr(s$,":") text no_num%,mid$(s$,p%+2,len(s$)) end_if ' === identifier date et heure de la fin des enchères p% = instr(s$,"Fin :"+chr$(9)) if p%>0 text no_date%,mid$(s$,p%+6,12) text no_time%,mid$(s$,p%+18,8) end_if ' === frais réels de livraison, frais eBay et frais PayPal text no_frais_reel%,"0,00" text no_frais_ebay%,"0,00" text no_frais_paypal%,"0,00"
next i% return
accepter1: if n_table%>0 for i%=1 to n_table% s$ = grid_read$(no_table%,i%+1,4) if s$=text$(no_num%) message "Cet objet est déjà dans la liste !" return end_if next i% end_if n_table% = n_table% + 1 grid_row no_table%,n_table% + 1 grid_write no_table%,n_table%+1,1,str$(n_table%) grid_write no_table%,n_table%+1,2,text$(no_date%) grid_write no_table%,n_table%+1,3,text$(no_time%) grid_write no_table%,n_table%+1,4,text$(no_num%) grid_write no_table%,n_table%+1,5,text$(no_lib%) grid_write no_table%,n_table%+1,6,text$(no_prix%) grid_write no_table%,n_table%+1,7,text$(no_liv%) grid_write no_table%,n_table%+1,8,text$(no_frais_ebay%) grid_write no_table%,n_table%+1,9,text$(no_frais_paypal%) calculer_marge(n_table%+1) totaux_plus(n_table%+1) if n_table%=1 then grid_row_fixed no_table%,1 return charger2: get_browser() if instr(s$, "- leboncoin.fr" )=0 BringWindowToForeground(handle(no_LeBonCoin%)) message "Ce n'est pas une page LeBonCoin: "+s$ return end_if get_page_text() BringWindowToForeground(handle(no_LeBonCoin%)) clear no_ebay% s_org$ = clipboard_string_paste$ item_add no_ebay%,s_org$ if instr(s_org$,"Mise en ligne par")=0 message "Ce n'est pas une page produit." return end_if lib% = 0 for i%=4 to count(no_ebay%) s$ = item_read$(no_ebay%,i%)
' === identifier le prix de vente p% = instr(s$,"Prix : "+chr$(9)) if p%>0 s$ = mid$(s$,p%+8,len(s$)) s$ = left$(s$,len(s$)-2) p% = instr(s$," ") while p%>0 s$ = left$(s$,p%-1)+mid$(s$,p%+1,len(s$)) p% = instr(s$," ") end_while if right$(s$,3)<>",00) then s$ = s$ + ",00" text no_prix2%,s$ end_if
' === identifier le libellé de l'objet if instr(s$,"Accueil > ")=1 then lib% = i% + 1 if i%=lib% text no_lib2%,s$ lib% = 0 end_if
' === identifier date et heure de la mie en vente ' Mise en ligne par Eric le 25 octobre à 23:49. p% = instr(s$,"Mise en ligne par ") if p%>0 p% = instr(s$," le ") p1% = instr(s$," à ") text no_date2%,mid$(s$,p%+4,p1%-p%-4) text no_time2%,mid$(s$,p1%+3,5) end_if next i% return accepter2: if n_table2%>0 for i%=1 to n_table2% s$ = grid_read$(no_table2%,i%+1,4) if s$=text$(no_lib2%) s$ = grid_read$(no_table2%,i%+1,5) if s$=text$(no_prix2%) message "Cet objet est déjà dans la liste !" return end_if end_if next i% end_if n_table2% = n_table2% + 1 grid_row no_table2%,n_table2% + 1 grid_write no_table2%,n_table2%+1,1,str$(n_table2%) grid_write no_table2%,n_table2%+1,2,text$(no_date2%) grid_write no_table2%,n_table2%+1,3,text$(no_time2%) grid_write no_table2%,n_table2%+1,4,text$(no_lib2%) grid_write no_table2%,n_table2%+1,5,text$(no_prix2%) calculer_marge2(n_table2%+1) totaux_plus2(n_table2%+1) if n_table2%=1 then grid_row_fixed no_table2%,1 return afficher: i% = mouse_y_left_down(no_table%) i% = grid_y_to_row(no_table%,i%) if i%=1 then return s$ = id_browser$ GetWindowByTitle(1,s$) hnd% = GetWindowByTitle% BringWindowToForeground(hnd%) s$ = chr$(20)+ebay_search$+grid_read$(no_table%,i%,4)+chr$(13) SendStringAsText(hnd%,s$) return supprimer: i% = mouse_y_left_down(no_table%) i% = grid_y_to_row(no_table%,i%) if i%=1 then return s$ = grid_read$(no_table%,i%,4) +": "+ grid_read$(no_table%,i%,5) if message_confirmation_yes_no("Vraiment supprimer: "+s$)=1 totaux_moins(i%) grid_row_delete no_table%,i% n_table% = n_table% - 1 end_if return supprimer2: i% = mouse_y_left_down(no_table2%) i% = grid_y_to_row(no_table2%,i%) if i%=1 then return s$ = grid_read$(no_table2%,i%,4) if message_confirmation_yes_no("Vraiment supprimer: "+s$)=1 totaux_moins2(i%) grid_row_delete no_table2%,i% n_table2% = n_table2% - 1 end_if return
close0: grid_save no_table%,n_table%+1,c_table1%,f_base1$ grid_save no_table2%,n_table2%+1,c_table2%,f_base2$ return
click_table: col% = mouse_x_left_down(no_table%) col% = grid_x_to_column(no_table%,col%) if col%=4 then set_focus no_afficher% if col%=8 then set_focus no_mod_frais_reel% if col%=9 then set_focus no_mod_frais_ebay% if col%=10 then set_focus no_mod_frais_paypal% return click_table2: col% = mouse_x_left_down(no_table2%) col% = grid_x_to_column(no_table2%,col%) if col%=6 then set_focus no_mod_frais_reel2% return
mod_reel: i% = mouse_y_left_down(no_table%) i% = grid_y_to_row(no_table%,i%) if i%=1 then return s$ = grid_read$(no_table%,i%,8) s1$ = grid_read$(no_table%,i%,5) s2$ = grid_read$(no_table%,i%,4) if message_input("Frais livraison réels "+s2$,s1$+": "+s$,s$)=1 s2$ = message_text$ p% = instr(s2$,",") if p%>0 then s2$ = left$(s2$,p%-1) + "." + mid$(s2$,p%+1,len(s2$)) if s2$="" then s2$ = "0.00" if instr(s2$,".")=0 then s2$ = s2$ + ".00" if instr(s2$,".")=len(s2$)-1 then s2$ = s2$ + "0" if numeric(s2$)=0 then return" if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) reel_total = reel_total - val(s$) + val(s2$) marge_total = marge_total + val(s$) - val(s2$) grid_write no_table%,i%,8,s2$ calculer_marge(i%) totaux_afficher() end_if return mod_reel2: i% = mouse_y_left_down(no_table2%) i% = grid_y_to_row(no_table2%,i%) if i%=1 then return s$ = grid_read$(no_table2%,i%,6) s1$ = grid_read$(no_table2%,i%,4) if message_input("Frais livraison réels",s1$+": "+s$,s$)=1 s2$ = message_text$ p% = instr(s2$,",") if p%>0 then s2$ = left$(s2$,p%-1) + "." + mid$(s2$,p%+1,len(s2$)) if s2$="" then s2$ = "0.00" if instr(s2$,".")=0 then s2$ = s2$ + ".00" if instr(s2$,".")=len(s2$)-1 then s2$ = s2$ + "0" if numeric(s2$)=0 then return if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) reel_total2 = reel_total2 - val(s$) + val(s2$) marge_total2 = marge_total2 + val(s$) - val(s2$) grid_write no_table2%,i%,6,s2$ calculer_marge2(i%) totaux_afficher2() end_if return
mod_ebay: i% = mouse_y_left_down(no_table%) i% = grid_y_to_row(no_table%,i%) if i%=1 then return s$ = grid_read$(no_table%,i%,9) s1$ = grid_read$(no_table%,i%,5) s2$ = grid_read$(no_table%,i%,4) if message_input("Frais eBay objet "+s2$,s1$+": "+s$,s$)=1 s2$ = message_text$ p% = instr(s2$,",") if p%>0 then s2$ = left$(s2$,p%-1) + "." + mid$(s2$,p%+1,len(s2$)) if s2$="" then s2$ = "0.00" if instr(s2$,".")=0 then s2$ = s2$ + ".00" if instr(s2$,".")=len(s2$)-1 then s2$ = s2$ + "0" if numeric(s2$)=0 then message "x" if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) ebay_total = ebay_total - val(s$) + val(s2$) marge_total = marge_total + val(s$) - val(s2$) grid_write no_table%,i%,9,s2$ calculer_marge(i%) totaux_afficher() end_if return
mod_paypal: i% = mouse_y_left_down(no_table%) i% = grid_y_to_row(no_table%,i%) if i%=1 then return s$ = grid_read$(no_table%,i%,19) s1$ = grid_read$(no_table%,i%,5) s2$ = grid_read$(no_table%,i%,4) if message_input("Frais PayPal objet "+s2$,s1$+": "+s$,s$)=1 s2$ = message_text$ p% = instr(s2$,",") if p%>0 then s2$ = left$(s2$,p%-1) + "." + mid$(s2$,p%+1,len(s2$)) if s2$="" then s2$ = "0.00" if instr(s2$,".")=0 then s2$ = s2$ + ".00" if instr(s2$,".")=len(s2$)-1 then s2$ = s2$ + "0" if numeric(s2$)=0 then message "x" if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) paypal_total = paypal_total - val(s$) + val(s2$) marge_total = marge_total + val(s$) - val(s2$) grid_write no_table%,i%,10,s2$ calculer_marge(i%) totaux_afficher() end_if return
change_site1: select item_index(no_site1%) case 1: ' eBay - on y est case 2: ' LeBonCoin hide 0 show no_LeBonCoin% text no_site2%,item_read$(no_site2%,2) end_select return change_site2: select item_index(no_site2%) case 1: ' eBay hide no_LeBonCoin% show 0 text no_site1%,item_read$(no_site1%,1) case 2: ' LeBonCoin - on y est end_select return
close_leboncoin: hide no_LeBonCoin% show 0 text no_site1%,item_read$(no_site1%,1) to_foreground 0 return
' *** procédures du programme initial ************************************* sub labels() label close0, charger1, accepter1, afficher, supprimer, click_table label mod_ebay, mod_paypal, mod_reel, change_site1, close_leboncoin label change_site2, charger2, accepter2, mod_reel2, supprimer2 label click_table2 end_sub
sub constantes() dim c_table1% : c_table1% = 11 dim c_table2% : c_table2% = 7 dim f_base1$ : f_base1$ = "ebay_ventes.txt" dim f_base2$ : f_base2$ = "leboncoin_ventes.txt" dim id_browser$ : id_browser$ = " - Mozilla Firefox" dim ebay_search$ : ebay_search$ = "http://cgi.ebay.fr/ws/eBayISAPI.dll?ViewItem&item=" end_sub
sub variables() dim no%, s$, s1$, s2$, s_org$, i%, p%, p1%, site% dim lib%, prix%, i1%, n%, mode%, col%, nom$, hnd% dim no_ebay%, no_num%, no_lib%, no_prix%, no_liv% dim no_date%, no_time%, no_table%, no_total%, no_frais_reel% dim no_mod_frais_ebay%, no_mod_frais_paypal%, no_mod_frais_reel% dim no_frais_ebay%, no_frais_paypal%, no_afficher%, no_site1%, no_site2% dim n_table%, marge dim prix_total, liv_total, reel_total, ebay_total, paypal_total, marge_total dim prix_global, liv_global, reel_global, ebay_global, paypal_global, marge_global dim no_LeBonCoin%, no_prix2%, no_lib2%, no_date2%, no_time2%, no_table2% dim no_total2%, marge2, n_table2%, prix_total2, reel_total2, marge_total2 dim no_mod_frais_reel2% end_sub
sub form0() caption 0,"Gestion des ventes eBay" width 0,1050 : height 0,800 on_close 0,close0 end_sub
sub GUI() no% = no% + 1 : memo no% : no_ebay% = no% : width no%,900 hide no% no% = no% + 1 : combo no% : top no%,10 : left no%,800 no_site1% = no% : on_click no%,change_site1 item_add no%,"eBay" item_add no%,"LeBonCoin" text no%,item_read$(no%,1)
' ****** GUI pour site eBay no% = no% + 1 : button no% : top no%,10 : left no%,10 caption no%,"Charger" : on_click no%,charger1 no% = no% + 1 : button no% : top no%,70 : left no%,10 caption no%,"Accepter" : on_click no%,accepter1
no% = no% + 1 : alpha no% top no%,10 : left no%,120 : caption no%,"Objet:" no% = no% + 1 : edit no% : no_num% = no% top no%,10 : left no%,160 no% = no% + 1 : alpha no% top no%,10 : left no%,300 : caption no%,"Titre:" no% = no% + 1 : edit no% : no_lib% = no% : width no%,400 top no%,10 : left no%,360 no% = no% + 1 : alpha no% top no%,40 : left no%,120 : caption no%,"Prix:" no% = no% + 1 : edit no% : no_prix% = no% top no%,40 : left no%,160 : width no%,80 no% = no% + 1 : alpha no% top no%,40 : left no%,300 : caption no%,"Livraison:" no% = no% + 1 : edit no% : no_liv% = no% top no%,40 : left no%,360 : width no%,50 no% = no% + 1 : alpha no% top no%,40 : left no%,430 : caption no%,"Frais réels:" no% = no% + 1 : edit no% : no_frais_reel% = no% top no%,40 : left no%,510 : width no%,50 no% = no% + 1 : alpha no% top no%,40 : left no%,580 : caption no%,"Date:" no% = no% + 1 : edit no% : no_date% = no% top no%,40 : left no%,620 : width no%,80 no% = no% + 1 : alpha no% top no%,40 : left no%,730 : caption no%,"Heure:" no% = no% + 1 : edit no% : no_time% = no% top no%,40 : left no%,780 : width no%,60 no% = no% + 1 : alpha no% top no%,70 : left no%,300 : caption no%,"Frais eBay:" no% = no% + 1 : edit no% : no_frais_ebay% = no% top no%,70 : left no%,360 : width no%,50 no% = no% + 1 : alpha no% top no%,70 : left no%,430 : caption no%,"Frais PayPal:" no% = no% + 1 : edit no% : no_frais_paypal% = no% top no%,70 : left no%,510 : width no%,50
no% = no% + 1 : grid no% : no_table% = no% top no%,130 : left no%,c_table1% : width no%,1027 : height no%,503 on_click no%,click_table grid_row no%,1 : grid_column no%,c_table1% grid_one_column_width no%,1,50 grid_write no%,1,1,"No." grid_one_column_width no%,2,80 grid_write no%,1,2,"Date" grid_one_column_width no%,3,60 grid_write no%,1,3,"Heure" grid_one_column_width no%,4,80 grid_write no%,1,4,"Objet" grid_one_column_width no%,5,400 grid_write no%,1,5,"Titre" grid_one_column_width no%,6,80 grid_write no%,1,6,"Prix" grid_one_column_width no%,7,50 grid_write no%,1,7,"Livraison" grid_one_column_width no%,8,50 grid_write no%,1,8,"Frais réels" grid_one_column_width no%,9,50 grid_write no%,1,9,"eBay" grid_one_column_width no%,10,50 grid_write no%,1,10,"PayPal" grid_one_column_width no%,11,50 grid_write no%,1,11,"Marge"
no% = no% + 1 : grid no% : no_total% = no% top no%,640 : left no%,10 : width no%,1027 : height no%,105 grid_row no%,4 : grid_column no%,c_table1% grid_one_column_width no%,1,50 grid_write no%,1,1,"Total" grid_write no%,2,1,"eBay" grid_write no%,3,1,"LeBonC..." Grid_Write no%,4,1,"Total" grid_one_column_width no%,2,80 grid_one_column_width no%,3,60 grid_one_column_width no%,4,80 grid_one_column_width no%,5,400 grid_one_column_width no%,6,80 grid_write no%,1,6,"Prix" grid_one_column_width no%,7,50 grid_write no%,1,7,"Livraison" grid_one_column_width no%,8,50 grid_write no%,1,8,"Frais réels" grid_one_column_width no%,9,50 grid_write no%,1,9,"eBay" grid_one_column_width no%,10,50 grid_write no%,1,10,"PayPal" grid_one_column_width no%,11,50 grid_write no%,1,11,"Marge"
no% = no% + 1 : button no% : top no%,100 : left no%,205 caption no%,"Afficher" : on_click no%,afficher : no_afficher% = no% no% = no% + 1 : button no% : top no%,100 : left no%,400 caption no%,"Supprimer" : on_click no%,supprimer no% = no% + 1 : button no% : top no%,100 : left no%,820 : width no%,50 caption no%,"Mod." : on_click no%,mod_reel : no_mod_frais_reel% = no% no% = no% + 1 : button no% : top no%,100 : left no%,870 : width no%,50 caption no%,"Mod." : on_click no%,mod_ebay : no_mod_frais_ebay% = no% no% = no% + 1 : button no% : top no%,100 : left no%,920 : width no%,50 caption no%,"Mod." : on_click no%,mod_paypal : no_mod_frais_paypal% = no%
' ****** GUI pour site LeBonCoin no% = no% + 1 : form no% : hide no% : no_LeBonCoin% = no% width no%,1050 : height no%,800 caption no%,"Gestion des ventes LeBonCoin" on_close no%,close_leboncoin command_target_is no% no% = no% + 1 : combo no% : top no%,10 : left no%,800 no_site2% = no% : on_click no%,change_site2 item_add no%,"eBay" item_add no%,"LeBonCoin" text no%,item_read$(no%,2)
no% = no% + 1 : button no% : top no%,10 : left no%,10 caption no%,"Charger" : on_click no%,charger2 no% = no% + 1 : button no% : top no%,70 : left no%,10 caption no%,"Accepter" : on_click no%,accepter2 no% = no% + 1 : alpha no% top no%,40 : left no%,120 : caption no%,"Prix:" no% = no% + 1 : edit no% : no_prix2% = no% top no%,40 : left no%,160 : width no%,80 no% = no% + 1 : alpha no% top no%,10 : left no%,300 : caption no%,"Titre:" no% = no% + 1 : edit no% : no_lib2% = no% : width no%,400 top no%,10 : left no%,360 no% = no% + 1 : alpha no% top no%,40 : left no%,580 : caption no%,"Date:" no% = no% + 1 : edit no% : no_date2% = no% top no%,40 : left no%,620 : width no%,80 no% = no% + 1 : alpha no% top no%,40 : left no%,730 : caption no%,"Heure:" no% = no% + 1 : edit no% : no_time2% = no% top no%,40 : left no%,780 : width no%,60
no% = no% + 1 : grid no% : no_table2% = no% top no%,130 : left no%,c_table2% : width no%,798 : height no%,503 on_click no%,click_table2 grid_row no%,1 : grid_column no%,c_table2% grid_one_column_width no%,1,50 grid_write no%,1,1,"No." grid_one_column_width no%,2,80 grid_write no%,1,2,"Date" grid_one_column_width no%,3,60 grid_write no%,1,3,"Heure" grid_one_column_width no%,4,400 grid_write no%,1,4,"Titre" grid_one_column_width no%,5,80 grid_write no%,1,5,"Prix" grid_one_column_width no%,6,50 grid_write no%,1,6,"Frais réels" grid_one_column_width no%,7,50 grid_write no%,1,7,"Marge"
no% = no% + 1 : grid no% : no_total2% = no% top no%,640 : left no%,10 : width no%,798 : height no%,56 grid_row no%,2 : grid_column no%,c_table2% grid_one_column_width no%,1,50 grid_write no%,1,1,"Total" grid_one_column_width no%,2,80 grid_one_column_width no%,3,60 grid_one_column_width no%,4,400 grid_one_column_width no%,5,80 grid_write no%,1,5,"Prix" grid_one_column_width no%,6,50 grid_write no%,1,6,"Frais réels" grid_one_column_width no%,7,50 grid_write no%,1,7,"Marge"
no% = no% + 1 : button no% : top no%,100 : left no%,400 caption no%,"Supprimer" : on_click no%,supprimer2 no% = no% + 1 : button no% : top no%,100 : left no%,685 : width no%,50 caption no%,"Mod." : on_click no%,mod_reel2 : no_mod_frais_reel2% = no% command_target_is 0 end_sub
sub initialisations() dim_local s1$ site% = 1 : ' défaut: démarrer abev eBay n_table% = 0 prix_total = 0 liv_total = 0 if file_exists(f_base1$)=1 then grid_load no_table%,f_base1$ if file_exists(f_base2$)=1 then grid_load no_table2%,f_base2$ n_table% = 1 repeat s1$ = grid_read$(no_table%,n_table%+1,1) if s1$="" then exit_repeat totaux_plus(n_table%+1) n_table% = n_table% + 1 until s1$="" grid_row no_table%, n_table% n_table% = n_table% - 1 if n_table%>0 then grid_row_fixed no_table%,1 n_table2% = 1 repeat s1$ = grid_read$(no_table2%,n_table2%+1,1) if s1$="" then exit_repeat totaux_plus2(n_table2%+1) n_table2% = n_table2% + 1 until s1$="" grid_row no_table2%, n_table2% n_table2% = n_table2% - 1 if n_table2%>0 then grid_row_fixed no_table2%,1
KGF_initialize("KGF.dll") nom$ = "firefox.exe" hnd% = dll_call1("GetProcessWindowHandle",adr(nom$))
end_sub
' *** procédures de l'application ***************************************** sub totaux_plus(ind%) s$ = grid_read$(no_table%,ind%,6) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) prix_total = prix_total + val(s$) prix_global = prix_global + val(s$) s$ = grid_read$(no_table%,ind%,7) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) liv_total = liv_total + val(s$) liv_global = liv_global + val(s$) s$ = grid_read$(no_table%,ind%,8) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) reel_total = reel_total + val(s$) reel_global = reel_global + val(s$) s$ = grid_read$(no_table%,ind%,9) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) ebay_total = ebay_total + val(s$) ebay_global = ebay_global + val(s$) s$ = grid_read$(no_table%,ind%,10) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) paypal_total = paypal_total + val(s$) paypal_global = paypal_global + val(s$) s$ = grid_read$(no_table%,ind%,c_table1%) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge_total = marge_total + val(s$) marge_global = marge_global + val(s$) totaux_afficher() end_sub
sub totaux_plus2(ind%) s$ = grid_read$(no_table2%,ind%,5) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) prix_total2 = prix_total2 + val(s$) prix_global = prix_global + val(s$) s$ = grid_read$(no_table2%,ind%,6) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) reel_total2 = reel_total2 + val(s$) reel_global = reel_global + val(s$) s$ = grid_read$(no_table2%,ind%,c_table2%) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge_total2 = marge_total2 + val(s$) marge_global = marge_global + val(s$) totaux_afficher2() end_sub
sub totaux_moins(ind%) s$ = grid_read$(no_table%,ind%,6) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) prix_total = prix_total - val(s$) prix_global = prix_global - val(s$) s$ = grid_read$(no_table%,ind%,7) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) liv_total = liv_total - val(s$) liv_global = liv_global - val(s$) s$ = grid_read$(no_table%,ind%,8) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) reel_total = reel_total - val(s$) reel_global = reel_global - val(s$) s$ = grid_read$(no_table%,ind%,9) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) ebay_total = ebay_total - val(s$) ebay_global = ebay_global - val(s$) s$ = grid_read$(no_table%,ind%,10) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) paypal_total = paypal_total - val(s$) paypal_global = paypal_global - val(s$) ' totaux_afficher() s$ = grid_read$(no_table%,ind%,c_table1%) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge_total = marge_total - val(s$) marge_global = marge_global - val(s$) totaux_afficher() end_sub
sub totaux_moins2(ind%) s$ = grid_read$(no_table2%,ind%,5) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) prix_total2 = prix_total2 - val(s$) prix_global = prix_global - val(s$) s$ = grid_read$(no_table2%,ind%,6) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) reel_total2 = reel_total2 - val(s$) reel_global = reel_global - val(s$) s$ = grid_read$(no_table2%,ind%,c_table2%) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge_total2 = marge_total2 - val(s$) marge_global = marge_global - val(s$) totaux_afficher2() end_sub
sub totaux_afficher() grid_write no_total%,2,1,str$(n_table%) s$ = str$(prix_total) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,2,6,s$ s$ = str$(liv_total) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,2,7,s$ s$ = str$(reel_total) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,2,8,s$ s$ = str$(ebay_total) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,2,9,s$ s$ = str$(paypal_total) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,2,10,s$ s$ = str$(marge_total) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,2,11,s$ globaux_afficher() end_sub
sub totaux_afficher2() grid_write no_total2%,2,1,str$(n_table2%) s$ = str$(prix_total2) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total2%,2,5,s$ grid_write no_total%,3,6,s$ s$ = str$(reel_total2) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total2%,2,6,s$ grid_write no_total%,3,8,s$ s$ = str$(marge_total2) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total2%,2,c_table2%,s$ grid_write no_total%,3,c_table1%,s$ globaux_afficher() end_sub
sub globaux_afficher() s$ = str$(prix_global) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,4,6,s$ s$ = str$(liv_global) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,4,7,s$ s$ = str$(reel_global) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,4,8,s$ s$ = str$(ebay_global) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,4,9,s$ s$ = str$(paypal_global) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,4,10,s$ s$ = str$(marge_global) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,4,c_table1%,s$ end_sub
sub calculer_marge(ind%) s$ = grid_read$(no_table%,ind%,6) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge = val(s$) s$ = grid_read$(no_table%,ind%,7) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge = marge + val(s$) s$ = grid_read$(no_table%,ind%,8) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge = marge - val(s$) s$ = grid_read$(no_table%,ind%,9) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge = marge - val(s$) s$ = grid_read$(no_table%,ind%,10) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge = marge - val(s$) s$ = str$(marge) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_table%,ind%,c_table1%,s$ end_sub
sub calculer_marge2(ind%) s$ = grid_read$(no_table2%,ind%,5) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge2 = val(s$) s$ = grid_read$(no_table2%,ind%,6) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge2 = marge2 - val(s$) s$ = str$(marge2) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_table2%,ind%,c_table2%,s$ end_sub
sub get_browser() s$ = id_browser$ GetWindowByTitle(1,s$) hnd% = GetWindowByTitle% BringWindowToForeground(hnd%)
s$ = string$(255," ") GetActiveWindowTitle() s$ = GetActiveWindowTitle$ s$ = trim$(s$) end_sub
sub get_page_text() s$ = chr$(9)+chr$(9)+chr$(9)+chr$(9)+chr$(9)+chr$(9)+chr$(9)+chr$(9)+chr$(9) SendStringAsChars(hnd%,s$) s$ = chr$(1) SendStringAsText(hnd%,s$) pause 300 s$ = chr$(3) SendStringAsText(hnd%,s$) CopyToClipboard(hnd%) end_sub
#INCLUDE "KGF_SUB.bas"
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Gestion des ventes sur eBay Ven 26 Oct 2012 - 18:05 | |
| Et voici le même programme avec un troisième site: VivaStreet. Pour les besoins, il est complet. Il peut être adapté relativement facilement à d'autres sites, ou à plus de sites. C'est surtout un bon exemple d'extraction de données significatives dans une page Web ouverte dans un browser. - Code:
-
' ebay_ventes.bas ' ' Ce programme est un gestionnaire de ventes sur le site eBay et ' autres sites de vente. A ce jour, les sites suivants sont gérés: ' eBay ' LeBonCoin ' VivaStreet ' ' La description qui suit est ciblée sur eBay, de loin le site le plus ' complexe. Pour les autres sites, le principe est le même, mais il y a ' moins d'informations pour chaque produit. On choisit un site par le ' combo en haut à droite de la page. La page du site en cours disparaît ' et la page du site choisi apparaît. La fermeture d'une page d'un site ' autre que eBay ferme cette page et revient sur la page eBay. La ' fermeture de la page eBay sauvegarde les données de TOUS les sites, ' puis termne l'application..Les totaux de tous les sites sont repris sur ' la page eBay pour une synthèse et des totaux globaux. ' ' Il est conçu pour mémoriser les ventes réalisées par enchères, ' petites annonces et achat immmédiat. Il mémorise l'essentiel des ' informations: date, heure; numéro d'objet, libellé; prix de vente, ' frais de livraison. Il permet de saisir les frais eBay et les ' frais PayPal. Il calcule le bénéfice net pour chaque vente, et donne ' le total des objets vendus, ainsi que le total des valeurs par catégorie ' y compris le bénéfice net total. Tout est mémorisé dans un fichier ' texte nommé "ebay_ventes.txt". Ce fichier est créé vide au premier ' lancement, et chargé autimatiquement à chaque lancement suivant. Le ' tableau est sauvegardé automatiquement dans ce fichier à la sortie ' du programme. ' ' Ce programme fonctionne à partir de pages eBay mise en mémoire par ' ctrl/A ctrl/C (toute la page). Cette combinaison de touches met dans ' le presse-papier la partie purement "texte" de la page eBay. On utilise ' alors cette chaîne de caractères pour charger un memo caché afin de ' trouver les informations relevantes. Chaque information est recherchée ' selon des critères précis: La variable mode% donne le type de vante: ' mode% = 0 ==> type indéterminé ' mode% = 1 ==> vente sur enchères ' mode% = 2 ==> vente immédiate ' mode% = 3 ==> petite annonce ' ' Le bouton "Charger" cherche une page eBay dans Firefox (adaptations ' simples à faire pour d'autres explorateurs). Cette page sera entièrement ' copiée dans le presse-papier, puis dans un mémo cachée, afin d'être ' expoitée ligne par ligne. Seule la partie "texte" sera présente, sans ' les images et graphismes. ' ' Les informations relevantes sont affichées dans des champs en haut de ' la page. On peut alors les modifier. Ma fourche "Accepter" crée une ' nouvelle ligne dans le tableau, en calculant la marge nette et les ' totaux globaux. La marge nette est calculée comme suit: ' marge nette = prix vente + frais livraison - frais réels - frais eBay - frais PayPal ' ' Un clic dans une ligne sélectionnne celle-ci. Les boutons "Mod." ' permettent de modifier les frais réels de livraison, les frais eBay ' et les fraus PaiPal. Le bouton "Supprimer" supprime la ligne de la ' luste. Le bouton "Afficher" recharge la page Web du produit (si elle ' existe encore). ' ' '
' *** programme initial *************************************************** labels() constantes() variables() form0() GUI() initialisations()
end
' *** routines d'évènements *********************************************** charger1: get_browser() if instr(s$, "sur eBay.fr" )=0 if left$(s$,6)<>"eBay |" BringWindowToForeground(handle(0)) message "Ce n'est pas une page eBay: "+s$ return end_if end_if get_page_text() BringWindowToForeground(handle(0))
clear no_ebay% s_org$ = clipboard_string_paste$ item_add no_ebay%,s_org$ text no_num%,"" text no_lib%,"" text no_prix%,"" text no_liv%,"" text no_lib%,"" text no_date%,"" text no_time%,"" text no_frais_ebay%,"" text no_frais_paypal%,"" display
s$ = item_read$(no_ebay%,1) if len(s$)>0 message "Il faut mémoriser une page produit eBay! ["+s$+"]" return end_if s$ = item_read$(no_ebay%,2) if s$<>"Accéder au contenu principal" message "Il faut mémoriser une page produit eBay! ["+s$+"]" return end_if s$ = item_read$(no_ebay%,3) if left$(s$,5)<>"eBay"+chr$(9) message "Il faut mémoriser une page produit eBay! ["+s$+"]" return end_if lib% = 0 prix% = 0 mode% = 0 if instr(s_org$,"Les enchères sur cet objet sont terminées.")>0 then mode% = 1 if instr(s_org$,"Cette vente avec l'option Achat immédiat est terminée.")>0 then mode% = 2 if instr(s_org$,"Petites Annonces :")>0 then mode% = 3 if mode%=0 message "Je n'ai pas pu déterminer le type de vente." return end_if
for i%=4 to count(no_ebay%) s$ = item_read$(no_ebay%,i%) ' === identifier les frais de livraison if mode%<3 p% = instr(s$,"Livraison :") if p%>0 s$ = mid$(s$,p%+12,len(s$)) p% = instr(s$," EUR") if p%>0 s$ = left$(s$,p%-1) text no_liv%,s$ end_if if instr(s$,"GRATUIT")>0 then text no_liv%,"0,00" end_if end_if if mode%=3 then text no_liv%,"0,00" ' === identifier le prix de vente if mode%<3 p% = instr(s$," EUR"+chr$(9)) if p%>0 s$ = left$(s$,p%+3) p% = instr(s$," :") if p%>0 then s$ = mid$(s$,p%+2,len(s$)) if left$(s$,1)=chr$(9) then s$ = mid$(s$,2,len(s$)) text no_prix%,left$(s$,len(s$)-4) end_if end_if if mode%=3 if left$(s$,18)="Petites Annonces :" prix% = i% + 2 end_if if i%=prix% text no_prix%,left$(s$,len(s$)-2) prix% = 0 end_if end_if ' === identifier le libellé de l'objet if mode%=1 if s$="Les enchères sur cet objet sont terminées." then lib% = 1 if (lib%=1) and (s$=chr$(9)) then lib% = i% + 1 end_if if mode%=2 if instr(s$,"Ajouté(s) à votre liste d'Affaires à suivre")>0 then lib% = 1 if (lib%=1) and (s$=chr$(9)) then lib% = i% + 1 end_if if mode%=3 if instr(s$,"Ajouter à vos Affaires à suivre")>0 then lib% = i% + 1 end_if if i%=lib% text no_lib%,s$ lib% = 0 end_if
' === identifier le numéro d'objet p% = instr(s$,"Numéro de l'objet :") if p%>0 s$ = mid$(s$,p%,len(s$)) p% = instr(s$,":") text no_num%,mid$(s$,p%+2,len(s$)) end_if ' === identifier date et heure de la fin des enchères p% = instr(s$,"Fin :"+chr$(9)) if p%>0 text no_date%,mid$(s$,p%+6,12) text no_time%,mid$(s$,p%+18,8) end_if ' === frais réels de livraison, frais eBay et frais PayPal text no_frais_reel%,"0,00" text no_frais_ebay%,"0,00" text no_frais_paypal%,"0,00"
next i% return
accepter1: if n_table%>0 for i%=1 to n_table% s$ = grid_read$(no_table%,i%+1,4) if s$=text$(no_num%) message "Cet objet est déjà dans la liste !" return end_if next i% end_if n_table% = n_table% + 1 grid_row no_table%,n_table% + 1 grid_write no_table%,n_table%+1,1,str$(n_table%) grid_write no_table%,n_table%+1,2,text$(no_date%) grid_write no_table%,n_table%+1,3,text$(no_time%) grid_write no_table%,n_table%+1,4,text$(no_num%) grid_write no_table%,n_table%+1,5,text$(no_lib%) grid_write no_table%,n_table%+1,6,text$(no_prix%) grid_write no_table%,n_table%+1,7,text$(no_liv%) grid_write no_table%,n_table%+1,8,text$(no_frais_ebay%) grid_write no_table%,n_table%+1,9,text$(no_frais_paypal%) calculer_marge(n_table%+1) totaux_plus(n_table%+1) if n_table%=1 then grid_row_fixed no_table%,1 return charger2: get_browser() if instr(s$, "- leboncoin.fr" )=0 BringWindowToForeground(handle(no_LeBonCoin%)) message "Ce n'est pas une page LeBonCoin: "+s$ return end_if get_page_text() BringWindowToForeground(handle(no_LeBonCoin%)) clear no_ebay% s_org$ = clipboard_string_paste$ item_add no_ebay%,s_org$ if instr(s_org$,"Mise en ligne par")=0 message "Ce n'est pas une page produit." return end_if lib% = 0 for i%=4 to count(no_ebay%) s$ = item_read$(no_ebay%,i%)
' === identifier le prix de vente p% = instr(s$,"Prix : "+chr$(9)) if p%>0 s$ = mid$(s$,p%+8,len(s$)) s$ = left$(s$,len(s$)-2) p% = instr(s$," ") while p%>0 s$ = left$(s$,p%-1)+mid$(s$,p%+1,len(s$)) p% = instr(s$," ") end_while if right$(s$,3)<>",00) then s$ = s$ + ",00" text no_prix2%,s$ end_if
' === identifier le libellé de l'objet if instr(s$,"Accueil > ")=1 then lib% = i% + 1 if i%=lib% text no_lib2%,s$ lib% = 0 end_if
' === identifier date et heure de la mise en vente ' Mise en ligne par Eric le 25 octobre à 23:49. p% = instr(s$,"Mise en ligne par ") if p%>0 p% = instr(s$," le ") p1% = instr(s$," à ") text no_date2%,mid$(s$,p%+4,p1%-p%-4) text no_time2%,mid$(s$,p1%+3,5) end_if next i% return accepter2: if n_table2%>0 for i%=1 to n_table2% s$ = grid_read$(no_table2%,i%+1,4) if s$=text$(no_lib2%) s$ = grid_read$(no_table2%,i%+1,5) if s$=text$(no_prix2%) message "Cet objet est déjà dans la liste !" return end_if end_if next i% end_if n_table2% = n_table2% + 1 grid_row no_table2%,n_table2% + 1 grid_write no_table2%,n_table2%+1,1,str$(n_table2%) grid_write no_table2%,n_table2%+1,2,text$(no_date2%) grid_write no_table2%,n_table2%+1,3,text$(no_time2%) grid_write no_table2%,n_table2%+1,4,text$(no_lib2%) grid_write no_table2%,n_table2%+1,5,text$(no_prix2%) calculer_marge2(n_table2%+1) totaux_plus2(n_table2%+1) if n_table2%=1 then grid_row_fixed no_table2%,1 return charger3: get_browser() if instr(s$, "Vivastreet" )=0 BringWindowToForeground(handle(no_vivastreet%)) message "Ce n'est pas une page VivaStreet: "+s$ return end_if get_page_text() BringWindowToForeground(handle(no_vivastreet%)) clear no_ebay% s_org$ = clipboard_string_paste$ item_add no_ebay%,s_org$ if instr(s_org$,"Publiée le ")=0 message "Ce n'est pas une page produit." return end_if lib% = 0 prix% = 0 maj% = 0 for i%=4 to count(no_ebay%) s$ = item_read$(no_ebay%,i%)
' === identifier le prix de vente if s$="Prix" then prix% = i% + 1 if i%=prix% s$ = left$(s$,len(s$)-1) p% = instr(s$," ") while p%>0 s$ = left$(s$,p%-1)+mid$(s$,p%+1,len(s$)) p% = instr(s$," ") end_while s$ = s$ + ",00" prix% = 0 text no_prix3%,s$ end_if
' === identifier le libellé de l'objet if instr(s$," Sauvegarder")=1 then lib% = i% + 2 if i%=lib% if left$(s$,18)="Photos Vivastreet " then s$ = mid$(s$,18,len(s$)) text no_lib3%,s$ lib% = 0 end_if ' === identifier le numéro d'annonce if instr(s$," Annonce N°")=1 text no_num3%,mid$(s$,16,len(s$)) end_if
' === identifier date de création et de mise à jour de l'annonce ' Mise en ligne par Eric le 25 octobre à 23:49. if instr(s$,"Publiée le ")=1 then text no_date3%,mid$(s$,11,10) if s$="Mise à jour le" then maj% = i% + 1 if i%=maj% text no_time3%,s$ maj% = 0 end_if next i% return
accepter3: if n_table3%>0 for i%=1 to n_table3% s$ = grid_read$(no_table3%,i%+1,4) if s$=text$(no_num3%) message "Cet objet est déjà dans la liste !" return end_if next i% end_if n_table3% = n_table3% + 1 grid_row no_table3%,n_table3% + 1 grid_write no_table3%,n_table3%+1,1,str$(n_table3%) grid_write no_table3%,n_table3%+1,2,text$(no_date3%) grid_write no_table3%,n_table3%+1,3,text$(no_time3%) grid_write no_table3%,n_table3%+1,4,text$(no_num3%) grid_write no_table3%,n_table3%+1,5,text$(no_lib3%) grid_write no_table3%,n_table3%+1,6,text$(no_prix3%) calculer_marge3(n_table3%+1) totaux_plus3(n_table3%+1) if n_table3%=1 then grid_row_fixed no_table3%,1 return afficher: i% = mouse_y_left_down(no_table%) i% = grid_y_to_row(no_table%,i%) if i%=1 then return s$ = id_browser$ GetWindowByTitle(1,s$) hnd% = GetWindowByTitle% BringWindowToForeground(hnd%) s$ = chr$(20)+ebay_search$+grid_read$(no_table%,i%,4)+chr$(13) SendStringAsText(hnd%,s$) return supprimer: i% = mouse_y_left_down(no_table%) i% = grid_y_to_row(no_table%,i%) if i%=1 then return s$ = grid_read$(no_table%,i%,4) +": "+ grid_read$(no_table%,i%,5) if message_confirmation_yes_no("Vraiment supprimer: "+s$)=1 totaux_moins(i%) grid_row_delete no_table%,i% n_table% = n_table% - 1 end_if return supprimer2: i% = mouse_y_left_down(no_table2%) i% = grid_y_to_row(no_table2%,i%) if i%=1 then return s$ = grid_read$(no_table2%,i%,4) if message_confirmation_yes_no("Vraiment supprimer: "+s$)=1 totaux_moins2(i%) grid_row_delete no_table2%,i% n_table2% = n_table2% - 1 end_if return
supprimer3: i% = mouse_y_left_down(no_table3%) i% = grid_y_to_row(no_table3%,i%) if i%=1 then return s$ = grid_read$(no_table3%,i%,4)+" "+grid_read$(no_table3%,i%,5) if message_confirmation_yes_no("Vraiment supprimer: "+s$)=1 totaux_moins3(i%) grid_row_delete no_table3%,i% n_table3% = n_table3% - 1 end_if return
close0: grid_save no_table%,n_table%+1,c_table1%,f_base1$ grid_save no_table2%,n_table2%+1,c_table2%,f_base2$ grid_save no_table3%,n_table3%+1,c_table3%,f_base3$ return
click_table: col% = mouse_x_left_down(no_table%) col% = grid_x_to_column(no_table%,col%) if col%=4 then set_focus no_afficher% if col%=8 then set_focus no_mod_frais_reel% if col%=9 then set_focus no_mod_frais_ebay% if col%=10 then set_focus no_mod_frais_paypal% return click_table2: col% = mouse_x_left_down(no_table2%) col% = grid_x_to_column(no_table2%,col%) if col%=6 then set_focus no_mod_frais_reel2% return
click_table3: col% = mouse_x_left_down(no_table3%) col% = grid_x_to_column(no_table3%,col%) if col%=7 then set_focus no_mod_frais_reel3% return
mod_reel: i% = mouse_y_left_down(no_table%) i% = grid_y_to_row(no_table%,i%) if i%=1 then return s$ = grid_read$(no_table%,i%,8) s1$ = grid_read$(no_table%,i%,5) s2$ = grid_read$(no_table%,i%,4) if message_input("Frais livraison réels "+s2$,s1$+": "+s$,s$)=1 s2$ = message_text$ p% = instr(s2$,",") if p%>0 then s2$ = left$(s2$,p%-1) + "." + mid$(s2$,p%+1,len(s2$)) if s2$="" then s2$ = "0.00" if instr(s2$,".")=0 then s2$ = s2$ + ".00" if instr(s2$,".")=len(s2$)-1 then s2$ = s2$ + "0" if numeric(s2$)=0 then return" if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) reel_total = reel_total - val(s$) + val(s2$) marge_total = marge_total + val(s$) - val(s2$) grid_write no_table%,i%,8,s2$ calculer_marge(i%) totaux_afficher() end_if return mod_reel2: i% = mouse_y_left_down(no_table2%) i% = grid_y_to_row(no_table2%,i%) if i%=1 then return s$ = grid_read$(no_table2%,i%,6) s1$ = grid_read$(no_table2%,i%,4) if message_input("Frais livraison réels",s1$+": "+s$,s$)=1 s2$ = message_text$ p% = instr(s2$,",") if p%>0 then s2$ = left$(s2$,p%-1) + "." + mid$(s2$,p%+1,len(s2$)) if s2$="" then s2$ = "0.00" if instr(s2$,".")=0 then s2$ = s2$ + ".00" if instr(s2$,".")=len(s2$)-1 then s2$ = s2$ + "0" if numeric(s2$)=0 then return if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) reel_total2 = reel_total2 - val(s$) + val(s2$) marge_total2 = marge_total2 + val(s$) - val(s2$) grid_write no_table2%,i%,6,s2$ calculer_marge2(i%) totaux_afficher2() end_if return
mod_reel3: i% = mouse_y_left_down(no_table3%) i% = grid_y_to_row(no_table3%,i%) if i%=1 then return s$ = grid_read$(no_table3%,i%,7) s1$ = grid_read$(no_table3%,i%,5) if message_input("Frais livraison réels",s1$+": "+s$,s$)=1 s2$ = message_text$ p% = instr(s2$,",") if p%>0 then s2$ = left$(s2$,p%-1) + "." + mid$(s2$,p%+1,len(s2$)) if s2$="" then s2$ = "0.00" if instr(s2$,".")=0 then s2$ = s2$ + ".00" if instr(s2$,".")=len(s2$)-1 then s2$ = s2$ + "0" if numeric(s2$)=0 then return if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) reel_total3 = reel_total3 - val(s$) + val(s2$) marge_total3 = marge_total3 + val(s$) - val(s2$) grid_write no_table3%,i%,7,s2$ calculer_marge3(i%) totaux_afficher3() end_if return
mod_ebay: i% = mouse_y_left_down(no_table%) i% = grid_y_to_row(no_table%,i%) if i%=1 then return s$ = grid_read$(no_table%,i%,9) s1$ = grid_read$(no_table%,i%,5) s2$ = grid_read$(no_table%,i%,4) if message_input("Frais eBay objet "+s2$,s1$+": "+s$,s$)=1 s2$ = message_text$ p% = instr(s2$,",") if p%>0 then s2$ = left$(s2$,p%-1) + "." + mid$(s2$,p%+1,len(s2$)) if s2$="" then s2$ = "0.00" if instr(s2$,".")=0 then s2$ = s2$ + ".00" if instr(s2$,".")=len(s2$)-1 then s2$ = s2$ + "0" if numeric(s2$)=0 then message "x" if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) ebay_total = ebay_total - val(s$) + val(s2$) marge_total = marge_total + val(s$) - val(s2$) grid_write no_table%,i%,9,s2$ calculer_marge(i%) totaux_afficher() end_if return
mod_paypal: i% = mouse_y_left_down(no_table%) i% = grid_y_to_row(no_table%,i%) if i%=1 then return s$ = grid_read$(no_table%,i%,19) s1$ = grid_read$(no_table%,i%,5) s2$ = grid_read$(no_table%,i%,4) if message_input("Frais PayPal objet "+s2$,s1$+": "+s$,s$)=1 s2$ = message_text$ p% = instr(s2$,",") if p%>0 then s2$ = left$(s2$,p%-1) + "." + mid$(s2$,p%+1,len(s2$)) if s2$="" then s2$ = "0.00" if instr(s2$,".")=0 then s2$ = s2$ + ".00" if instr(s2$,".")=len(s2$)-1 then s2$ = s2$ + "0" if numeric(s2$)=0 then message "x" if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) paypal_total = paypal_total - val(s$) + val(s2$) marge_total = marge_total + val(s$) - val(s2$) grid_write no_table%,i%,10,s2$ calculer_marge(i%) totaux_afficher() end_if return
change_site1: select item_index(no_site1%) case 1: ' eBay - on y est case 2: ' LeBonCoin hide 0 show no_LeBonCoin% text no_site2%,item_read$(no_site2%,2) case 3: ' VivaStreet hide 0 show no_VivaStreet% text no_site3%,item_read$(no_site2%,3) end_select return change_site2: select item_index(no_site2%) case 1: ' eBay hide no_LeBonCoin% show 0 text no_site1%,item_read$(no_site1%,1) case 2: ' LeBonCoin - on y est case 3: ' VivaStreet hide no_LeBonCoin% show no_VivaStreet% text no_site3%,item_read$(no_site3%,3) end_select return
change_site3: select item_index(no_site3%) case 1: ' eBay hide no_VivaStreet% show 0 text no_site1%,item_read$(no_site1%,1) case 2: ' LeBonCoin hide no_VivaStreet% show no_LeBonCoin% text no_site2%,item_read$(no_site2%,2) case 3: ' VivaStreet - on y est end_select return
close_leboncoin: hide no_LeBonCoin% show 0 text no_site1%,item_read$(no_site1%,1) to_foreground 0 return
close_vivastreet: hide no_vivastreet% show 0 text no_site1%,item_read$(no_site1%,1) to_foreground 0 return
' *** procédures du programme initial ************************************* sub labels() label close0, charger1, accepter1, afficher, supprimer, click_table label mod_ebay, mod_paypal, mod_reel, change_site1, close_leboncoin label change_site2, charger2, accepter2, mod_reel2, supprimer2 label click_table2 label change_site3, charger3, accepter3, mod_reel3, supprimer3 label click_table3, close_vivastreet end_sub
sub constantes() dim c_table1% : c_table1% = 11 dim c_table2% : c_table2% = 7 dim c_table3% : c_table3% = 8 dim f_base1$ : f_base1$ = "ebay_ventes.txt" dim f_base2$ : f_base2$ = "leboncoin_ventes.txt" dim f_base3$ : f_base3$ = "vivastreet_ventes.txt" dim id_browser$ : id_browser$ = " - Mozilla Firefox" dim ebay_search$ : ebay_search$ = "http://cgi.ebay.fr/ws/eBayISAPI.dll?ViewItem&item=" end_sub
sub variables() dim no%, s$, s1$, s2$, s_org$, i%, p%, p1%, site%, maj% dim lib%, prix%, i1%, n%, mode%, col%, nom$, hnd% dim no_ebay%, no_num%, no_lib%, no_prix%, no_liv% dim no_date%, no_time%, no_table%, no_total%, no_frais_reel% dim no_mod_frais_ebay%, no_mod_frais_paypal%, no_mod_frais_reel% dim no_frais_ebay%, no_frais_paypal%, no_afficher%, no_site1%, no_site2% dim n_table%, marge, no_site3% dim prix_total, liv_total, reel_total, ebay_total, paypal_total, marge_total dim prix_global, liv_global, reel_global, ebay_global, paypal_global, marge_global dim no_LeBonCoin%, no_prix2%, no_lib2%, no_date2%, no_time2%, no_table2% dim no_total2%, marge2, n_table2%, prix_total2, reel_total2, marge_total2 dim no_mod_frais_reel2% dim no_VivaStreet%, no_prix3%, no_lib3%, no_date3%, no_time3%, no_table3% dim no_total3%, marge3, n_table3%, prix_total3, reel_total3, marge_total3 dim no_mod_frais_reel3%, no_num3% end_sub
sub form0() caption 0,"Gestion des ventes eBay" width 0,1050 : height 0,800 on_close 0,close0 end_sub
sub GUI() no% = no% + 1 : memo no% : no_ebay% = no% : width no%,900 hide no% no% = no% + 1 : combo no% : top no%,10 : left no%,800 no_site1% = no% : on_click no%,change_site1 item_add no%,"eBay" item_add no%,"LeBonCoin" item_add no%,"VivaStreet" text no%,item_read$(no%,1)
' ****** GUI pour site eBay no% = no% + 1 : button no% : top no%,10 : left no%,10 caption no%,"Charger" : on_click no%,charger1 no% = no% + 1 : button no% : top no%,70 : left no%,10 caption no%,"Accepter" : on_click no%,accepter1
no% = no% + 1 : alpha no% top no%,10 : left no%,120 : caption no%,"Objet:" no% = no% + 1 : edit no% : no_num% = no% top no%,10 : left no%,160 no% = no% + 1 : alpha no% top no%,10 : left no%,300 : caption no%,"Titre:" no% = no% + 1 : edit no% : no_lib% = no% : width no%,400 top no%,10 : left no%,360 no% = no% + 1 : alpha no% top no%,40 : left no%,120 : caption no%,"Prix:" no% = no% + 1 : edit no% : no_prix% = no% top no%,40 : left no%,160 : width no%,80 no% = no% + 1 : alpha no% top no%,40 : left no%,300 : caption no%,"Livraison:" no% = no% + 1 : edit no% : no_liv% = no% top no%,40 : left no%,360 : width no%,50 no% = no% + 1 : alpha no% top no%,40 : left no%,430 : caption no%,"Frais réels:" no% = no% + 1 : edit no% : no_frais_reel% = no% top no%,40 : left no%,510 : width no%,50 no% = no% + 1 : alpha no% top no%,40 : left no%,580 : caption no%,"Date:" no% = no% + 1 : edit no% : no_date% = no% top no%,40 : left no%,620 : width no%,80 no% = no% + 1 : alpha no% top no%,40 : left no%,730 : caption no%,"Heure:" no% = no% + 1 : edit no% : no_time% = no% top no%,40 : left no%,780 : width no%,60 no% = no% + 1 : alpha no% top no%,70 : left no%,300 : caption no%,"Frais eBay:" no% = no% + 1 : edit no% : no_frais_ebay% = no% top no%,70 : left no%,360 : width no%,50 no% = no% + 1 : alpha no% top no%,70 : left no%,430 : caption no%,"Frais PayPal:" no% = no% + 1 : edit no% : no_frais_paypal% = no% top no%,70 : left no%,510 : width no%,50
no% = no% + 1 : grid no% : no_table% = no% top no%,130 : left no%,c_table1% : width no%,1027 : height no%,453 on_click no%,click_table grid_row no%,1 : grid_column no%,c_table1% grid_one_column_width no%,1,50 grid_write no%,1,1,"No." grid_one_column_width no%,2,80 grid_write no%,1,2,"Date" grid_one_column_width no%,3,60 grid_write no%,1,3,"Heure" grid_one_column_width no%,4,80 grid_write no%,1,4,"Objet" grid_one_column_width no%,5,400 grid_write no%,1,5,"Titre" grid_one_column_width no%,6,80 grid_write no%,1,6,"Prix" grid_one_column_width no%,7,50 grid_write no%,1,7,"Livraison" grid_one_column_width no%,8,50 grid_write no%,1,8,"Frais réels" grid_one_column_width no%,9,50 grid_write no%,1,9,"eBay" grid_one_column_width no%,10,50 grid_write no%,1,10,"PayPal" grid_one_column_width no%,11,50 grid_write no%,1,11,"Marge"
no% = no% + 1 : grid no% : no_total% = no% top no%,590 : left no%,10 : width no%,1027 : height no%,155 grid_row no%,5 : grid_column no%,c_table1% grid_one_column_width no%,1,50 grid_write no%,1,1,"Total" grid_write no%,2,1,"eBay" grid_write no%,3,1,"LeBonC..." Grid_Write no%,4,1,"VivaStr..." Grid_Write no%,5,1,"Total" grid_one_column_width no%,2,80 grid_one_column_width no%,3,60 grid_one_column_width no%,4,80 grid_one_column_width no%,5,400 grid_one_column_width no%,6,80 grid_write no%,1,6,"Prix" grid_one_column_width no%,7,50 grid_write no%,1,7,"Livraison" grid_one_column_width no%,8,50 grid_write no%,1,8,"Frais réels" grid_one_column_width no%,9,50 grid_write no%,1,9,"eBay" grid_one_column_width no%,10,50 grid_write no%,1,10,"PayPal" grid_one_column_width no%,11,50 grid_write no%,1,11,"Marge"
no% = no% + 1 : button no% : top no%,100 : left no%,205 caption no%,"Afficher" : on_click no%,afficher : no_afficher% = no% no% = no% + 1 : button no% : top no%,100 : left no%,400 caption no%,"Supprimer" : on_click no%,supprimer no% = no% + 1 : button no% : top no%,100 : left no%,820 : width no%,50 caption no%,"Mod." : on_click no%,mod_reel : no_mod_frais_reel% = no% no% = no% + 1 : button no% : top no%,100 : left no%,870 : width no%,50 caption no%,"Mod." : on_click no%,mod_ebay : no_mod_frais_ebay% = no% no% = no% + 1 : button no% : top no%,100 : left no%,920 : width no%,50 caption no%,"Mod." : on_click no%,mod_paypal : no_mod_frais_paypal% = no%
' ****** GUI pour site LeBonCoin no% = no% + 1 : form no% : hide no% : no_LeBonCoin% = no% width no%,1050 : height no%,800 caption no%,"Gestion des ventes LeBonCoin" on_close no%,close_leboncoin command_target_is no% no% = no% + 1 : combo no% : top no%,10 : left no%,800 no_site2% = no% : on_click no%,change_site2 item_add no%,"eBay" item_add no%,"LeBonCoin" item_add no%,"VivaStreet" text no%,item_read$(no%,2)
no% = no% + 1 : button no% : top no%,10 : left no%,10 caption no%,"Charger" : on_click no%,charger2 no% = no% + 1 : button no% : top no%,70 : left no%,10 caption no%,"Accepter" : on_click no%,accepter2 no% = no% + 1 : alpha no% top no%,40 : left no%,120 : caption no%,"Prix:" no% = no% + 1 : edit no% : no_prix2% = no% top no%,40 : left no%,160 : width no%,80 no% = no% + 1 : alpha no% top no%,10 : left no%,300 : caption no%,"Titre:" no% = no% + 1 : edit no% : no_lib2% = no% : width no%,400 top no%,10 : left no%,360 no% = no% + 1 : alpha no% top no%,40 : left no%,580 : caption no%,"Date:" no% = no% + 1 : edit no% : no_date2% = no% top no%,40 : left no%,620 : width no%,80 no% = no% + 1 : alpha no% top no%,40 : left no%,730 : caption no%,"Heure:" no% = no% + 1 : edit no% : no_time2% = no% top no%,40 : left no%,780 : width no%,60
no% = no% + 1 : grid no% : no_table2% = no% top no%,130 : left no%,c_table2% : width no%,798 : height no%,503 on_click no%,click_table2 grid_row no%,1 : grid_column no%,c_table2% grid_one_column_width no%,1,50 grid_write no%,1,1,"No." grid_one_column_width no%,2,80 grid_write no%,1,2,"Date" grid_one_column_width no%,3,60 grid_write no%,1,3,"Heure" grid_one_column_width no%,4,400 grid_write no%,1,4,"Titre" grid_one_column_width no%,5,80 grid_write no%,1,5,"Prix" grid_one_column_width no%,6,50 grid_write no%,1,6,"Frais réels" grid_one_column_width no%,7,50 grid_write no%,1,7,"Marge"
no% = no% + 1 : grid no% : no_total2% = no% top no%,640 : left no%,10 : width no%,798 : height no%,56 grid_row no%,2 : grid_column no%,c_table2% grid_one_column_width no%,1,50 grid_write no%,1,1,"Total" grid_one_column_width no%,2,80 grid_one_column_width no%,3,60 grid_one_column_width no%,4,400 grid_one_column_width no%,5,80 grid_write no%,1,5,"Prix" grid_one_column_width no%,6,50 grid_write no%,1,6,"Frais réels" grid_one_column_width no%,7,50 grid_write no%,1,7,"Marge"
no% = no% + 1 : button no% : top no%,100 : left no%,400 caption no%,"Supprimer" : on_click no%,supprimer2 no% = no% + 1 : button no% : top no%,100 : left no%,685 : width no%,50 caption no%,"Mod." : on_click no%,mod_reel2 : no_mod_frais_reel2% = no%
' ****** GUI pour site VivaStreet no% = no% + 1 : form no% : hide no% : no_VivaStreet% = no% width no%,1050 : height no%,800 caption no%,"Gestion des ventes VivaStreet" on_close no%,close_vivastreet command_target_is no% no% = no% + 1 : combo no% : top no%,10 : left no%,800 no_site3% = no% : on_click no%,change_site3 item_add no%,"eBay" item_add no%,"LeBonCoin" item_add no%,"VivaStreet" text no%,item_read$(no%,3)
no% = no% + 1 : alpha no% top no%,10 : left no%,110 : caption no%,"Annonce:" no% = no% + 1 : edit no% : no_num3% = no% top no%,10 : left no%,160 no% = no% + 1 : button no% : top no%,10 : left no%,10 caption no%,"Charger" : on_click no%,charger3 no% = no% + 1 : button no% : top no%,70 : left no%,10 caption no%,"Accepter" : on_click no%,accepter3 no% = no% + 1 : alpha no% top no%,40 : left no%,110 : caption no%,"Prix:" no% = no% + 1 : edit no% : no_prix3% = no% top no%,40 : left no%,160 : width no%,80 no% = no% + 1 : alpha no% top no%,10 : left no%,300 : caption no%,"Titre:" no% = no% + 1 : edit no% : no_lib3% = no% : width no%,400 top no%,10 : left no%,360 no% = no% + 1 : alpha no% top no%,40 : left no%,580 : caption no%,"Publié:" no% = no% + 1 : edit no% : no_date3% = no% top no%,40 : left no%,620 : width no%,80 no% = no% + 1 : alpha no% top no%,40 : left no%,730 : caption no%,"Mise à jour:" no% = no% + 1 : edit no% : no_time3% = no% top no%,40 : left no%,800 : width no%,80
no% = no% + 1 : grid no% : no_table3% = no% top no%,130 : left no%,c_table3% : width no%,898 : height no%,503 on_click no%,click_table3 grid_row no%,1 : grid_column no%, c_table3% grid_one_column_width no%,1,50 grid_write no%,1,1,"No." grid_one_column_width no%,2,80 grid_write no%,1,2,"Publié" grid_one_column_width no%,3,80 grid_write no%,1,3,"Mise à jour" grid_one_column_width no%,4,80 grid_write no%,1,4,"Annonce" grid_one_column_width no%,5,400 grid_write no%,1,5,"Titre" grid_one_column_width no%,6,80 grid_write no%,1,6,"Prix" grid_one_column_width no%,7,50 grid_write no%,1,7,"Frais réels" grid_one_column_width no%,8,50 grid_write no%,1,8,"Marge"
no% = no% + 1 : grid no% : no_total3% = no% top no%,640 : left no%,10 : width no%,898 : height no%,56 grid_row no%,2 : grid_column no%,c_table3% grid_one_column_width no%,1,50 grid_write no%,1,1,"Total" grid_one_column_width no%,2,80 grid_one_column_width no%,3,80 grid_one_column_width no%,4,80 grid_one_column_width no%,5,400 grid_one_column_width no%,6,80 grid_write no%,1,6,"Prix" grid_one_column_width no%,7,50 grid_write no%,1,7,"Frais réels" grid_one_column_width no%,8,50 grid_write no%,1,8,"Marge"
no% = no% + 1 : button no% : top no%,100 : left no%,400 caption no%,"Supprimer" : on_click no%,supprimer3 no% = no% + 1 : button no% : top no%,100 : left no%,785 : width no%,50 caption no%,"Mod." : on_click no%,mod_reel3 : no_mod_frais_reel3% = no%
command_target_is 0 end_sub
sub initialisations() dim_local s1$ site% = 1 : ' défaut: démarrer abev eBay n_table% = 0 prix_total = 0 liv_total = 0 if file_exists(f_base1$)=1 then grid_load no_table%,f_base1$ if file_exists(f_base2$)=1 then grid_load no_table2%,f_base2$ if file_exists(f_base3$)=1 then grid_load no_table3%,f_base3$ n_table% = 1 repeat s1$ = grid_read$(no_table%,n_table%+1,1) if s1$="" then exit_repeat totaux_plus(n_table%+1) n_table% = n_table% + 1 until s1$="" grid_row no_table%, n_table% n_table% = n_table% - 1 if n_table%>0 then grid_row_fixed no_table%,1 n_table2% = 1 repeat s1$ = grid_read$(no_table2%,n_table2%+1,1) if s1$="" then exit_repeat totaux_plus2(n_table2%+1) n_table2% = n_table2% + 1 until s1$="" grid_row no_table2%, n_table2% n_table2% = n_table2% - 1 if n_table2%>0 then grid_row_fixed no_table2%,1 n_table3% = 1 repeat s1$ = grid_read$(no_table3%,n_table3%+1,1) if s1$="" then exit_repeat totaux_plus3(n_table3%+1) n_table3% = n_table3% + 1 until s1$="" grid_row no_table3%, n_table3% n_table3% = n_table3% - 1 if n_table3%>0 then grid_row_fixed no_table3%,1 KGF_initialize("KGF.dll") nom$ = "firefox.exe" hnd% = dll_call1("GetProcessWindowHandle",adr(nom$))
end_sub
' *** procédures de l'application ***************************************** sub totaux_plus(ind%) s$ = grid_read$(no_table%,ind%,6) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) prix_total = prix_total + val(s$) prix_global = prix_global + val(s$) s$ = grid_read$(no_table%,ind%,7) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) liv_total = liv_total + val(s$) liv_global = liv_global + val(s$) s$ = grid_read$(no_table%,ind%,8) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) reel_total = reel_total + val(s$) reel_global = reel_global + val(s$) s$ = grid_read$(no_table%,ind%,9) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) ebay_total = ebay_total + val(s$) ebay_global = ebay_global + val(s$) s$ = grid_read$(no_table%,ind%,10) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) paypal_total = paypal_total + val(s$) paypal_global = paypal_global + val(s$) s$ = grid_read$(no_table%,ind%,c_table1%) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge_total = marge_total + val(s$) marge_global = marge_global + val(s$) totaux_afficher() end_sub
sub totaux_plus2(ind%) s$ = grid_read$(no_table2%,ind%,5) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) prix_total2 = prix_total2 + val(s$) prix_global = prix_global + val(s$) s$ = grid_read$(no_table2%,ind%,6) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) reel_total2 = reel_total2 + val(s$) reel_global = reel_global + val(s$) s$ = grid_read$(no_table2%,ind%,c_table2%) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge_total2 = marge_total2 + val(s$) marge_global = marge_global + val(s$) totaux_afficher2() end_sub
sub totaux_plus3(ind%) s$ = grid_read$(no_table3%,ind%,6) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) prix_total3 = prix_total3 + val(s$) prix_global = prix_global + val(s$) s$ = grid_read$(no_table3%,ind%,7) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) reel_total3 = reel_total3 + val(s$) reel_global = reel_global + val(s$) s$ = grid_read$(no_table3%,ind%,c_table3%) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge_total3 = marge_total3 + val(s$) marge_global = marge_global + val(s$) totaux_afficher3() end_sub
sub totaux_moins(ind%) s$ = grid_read$(no_table%,ind%,6) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) prix_total = prix_total - val(s$) prix_global = prix_global - val(s$) s$ = grid_read$(no_table%,ind%,7) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) liv_total = liv_total - val(s$) liv_global = liv_global - val(s$) s$ = grid_read$(no_table%,ind%,8) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) reel_total = reel_total - val(s$) reel_global = reel_global - val(s$) s$ = grid_read$(no_table%,ind%,9) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) ebay_total = ebay_total - val(s$) ebay_global = ebay_global - val(s$) s$ = grid_read$(no_table%,ind%,10) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) paypal_total = paypal_total - val(s$) paypal_global = paypal_global - val(s$) s$ = grid_read$(no_table%,ind%,c_table1%) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge_total = marge_total - val(s$) marge_global = marge_global - val(s$) totaux_afficher() end_sub
sub totaux_moins2(ind%) s$ = grid_read$(no_table2%,ind%,5) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) prix_total2 = prix_total2 - val(s$) prix_global = prix_global - val(s$) s$ = grid_read$(no_table2%,ind%,6) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) reel_total2 = reel_total2 - val(s$) reel_global = reel_global - val(s$) s$ = grid_read$(no_table2%,ind%,c_table2%) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge_total2 = marge_total2 - val(s$) marge_global = marge_global - val(s$) totaux_afficher2() end_sub
sub totaux_moins3(ind%) s$ = grid_read$(no_table3%,ind%,6) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) prix_total3 = prix_total3 - val(s$) prix_global = prix_global - val(s$) s$ = grid_read$(no_table3%,ind%,7) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) reel_total3 = reel_total3 - val(s$) reel_global = reel_global - val(s$) s$ = grid_read$(no_table3%,ind%,c_table3%) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge_total3 = marge_total3 - val(s$) marge_global = marge_global - val(s$) totaux_afficher3() end_sub
sub totaux_afficher() grid_write no_total%,2,1,str$(n_table%) s$ = str$(prix_total) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,2,6,s$ s$ = str$(liv_total) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,2,7,s$ s$ = str$(reel_total) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,2,8,s$ s$ = str$(ebay_total) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,2,9,s$ s$ = str$(paypal_total) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,2,10,s$ s$ = str$(marge_total) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,2,11,s$ globaux_afficher() end_sub
sub totaux_afficher2() grid_write no_total2%,2,1,str$(n_table2%) s$ = str$(prix_total2) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total2%,2,5,s$ grid_write no_total%,3,6,s$ s$ = str$(reel_total2) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total2%,2,6,s$ grid_write no_total%,3,8,s$ s$ = str$(marge_total2) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total2%,2,c_table2%,s$ grid_write no_total%,3,c_table1%,s$ globaux_afficher() end_sub
sub totaux_afficher3() grid_write no_total3%,2,1,str$(n_table3%) s$ = str$(prix_total3) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total3%,2,6,s$ grid_write no_total%,4,6,s$ s$ = str$(reel_total3) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total3%,2,7,s$ grid_write no_total%,4,8,s$ s$ = str$(marge_total3) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total3%,2,c_table3%,s$ grid_write no_total%,4,c_table1%,s$ globaux_afficher() end_sub
sub globaux_afficher() s$ = str$(prix_global) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,5,6,s$ s$ = str$(liv_global) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,5,7,s$ s$ = str$(reel_global) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,5,8,s$ s$ = str$(ebay_global) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,5,9,s$ s$ = str$(paypal_global) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,5,10,s$ s$ = str$(marge_global) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,5,c_table1%,s$ end_sub
sub calculer_marge(ind%) s$ = grid_read$(no_table%,ind%,6) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge = val(s$) s$ = grid_read$(no_table%,ind%,7) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge = marge + val(s$) s$ = grid_read$(no_table%,ind%,8) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge = marge - val(s$) s$ = grid_read$(no_table%,ind%,9) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge = marge - val(s$) s$ = grid_read$(no_table%,ind%,10) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge = marge - val(s$) s$ = str$(marge) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_table%,ind%,c_table1%,s$ end_sub
sub calculer_marge2(ind%) s$ = grid_read$(no_table2%,ind%,5) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge2 = val(s$) s$ = grid_read$(no_table2%,ind%,6) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge2 = marge2 - val(s$) s$ = str$(marge2) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_table2%,ind%,c_table2%,s$ end_sub
sub calculer_marge3(ind%) s$ = grid_read$(no_table3%,ind%,6) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge3 = val(s$) s$ = grid_read$(no_table3%,ind%,7) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge3 = marge3 - val(s$) s$ = str$(marge3) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_table3%,ind%,c_table3%,s$ end_sub
sub get_browser() s$ = id_browser$ GetWindowByTitle(1,s$) hnd% = GetWindowByTitle% BringWindowToForeground(hnd%)
s$ = string$(255," ") GetActiveWindowTitle() s$ = GetActiveWindowTitle$ s$ = trim$(s$) end_sub
sub get_page_text() s$ = chr$(9)+chr$(9)+chr$(9)+chr$(9)+chr$(9)+chr$(9)+chr$(9)+chr$(9)+chr$(9) SendStringAsChars(hnd%,s$) s$ = chr$(1) SendStringAsText(hnd%,s$) pause 300 s$ = chr$(3) SendStringAsText(hnd%,s$) CopyToClipboard(hnd%) end_sub
#INCLUDE "KGF_SUB.bas"
| |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 26 Oct 2012 - 18:53 | |
| Je le garde sous le coude, c'est un très bon exemple ! | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Gestion des ventes sur eBay Sam 27 Oct 2012 - 19:38 | |
| Nouvelle version, avec les modifications suivantes: - le programme s'adapte automatiquement aux tailles d'écran inférieurs à 1050x800 - le programme permet de saisir directement des articles et de les "accepter" sans passer par le chargement d'une annonce par page web, simplement en laissant le numéro d'objet vide pour eBay, ou le numéro d'annonce pour VivaStreet. Pour LeBonCoin, c'est possible d'office. - Code:
-
' ebay_ventes.bas ' ' Ce programme est un gestionnaire de ventes sur le site eBay et ' autres sites de vente. A ce jour, les sites suivants sont gérés: ' eBay ' LeBonCoin ' VivaStreet ' ' La description qui suit est ciblée sur eBay, de loin le site le plus ' complexe. Pour les autres sites, le principe est le même, mais il y a ' moins d'informations pour chaque produit. On choisit un site par le ' combo en haut à droite de la page. La page du site en cours disparaît ' et la page du site choisi apparaît. La fermeture d'une page d'un site ' autre que eBay ferme cette page et revient sur la page eBay. La ' fermeture de la page eBay sauvegarde les données de TOUS les sites, ' puis termne l'application..Les totaux de tous les sites sont repris sur ' la page eBay pour une synthèse et des totaux globaux. ' ' Il est conçu pour mémoriser les ventes réalisées par enchères, ' petites annonces et achat immmédiat. Il mémorise l'essentiel des ' informations: date, heure; numéro d'objet, libellé; prix de vente, ' frais de livraison. Il permet de saisir les frais eBay et les ' frais PayPal. Il calcule le bénéfice net pour chaque vente, et donne ' le total des objets vendus, ainsi que le total des valeurs par catégorie ' y compris le bénéfice net total. Tout est mémorisé dans un fichier ' texte nommé "ebay_ventes.txt". Ce fichier est créé vide au premier ' lancement, et chargé autimatiquement à chaque lancement suivant. Le ' tableau est sauvegardé automatiquement dans ce fichier à la sortie ' du programme. ' ' Ce programme fonctionne à partir de pages eBay mise en mémoire par ' ctrl/A ctrl/C (toute la page). Cette combinaison de touches met dans ' le presse-papier la partie purement "texte" de la page eBay. On utilise ' alors cette chaîne de caractères pour charger un memo caché afin de ' trouver les informations relevantes. Chaque information est recherchée ' selon des critères précis: La variable mode% donne le type de vante: ' mode% = 0 ==> type indéterminé ' mode% = 1 ==> vente sur enchères ' mode% = 2 ==> vente immédiate ' mode% = 3 ==> petite annonce ' ' Le bouton "Charger" cherche une page eBay dans Firefox (adaptations ' simples à faire pour d'autres explorateurs). Cette page sera entièrement ' copiée dans le presse-papier, puis dans un mémo cachée, afin d'être ' expoitée ligne par ligne. Seule la partie "texte" sera présente, sans ' les images et graphismes. ' ' Les informations relevantes sont affichées dans des champs en haut de ' la page. On peut alors les modifier. Ma fourche "Accepter" crée une ' nouvelle ligne dans le tableau, en calculant la marge nette et les ' totaux globaux. La marge nette est calculée comme suit: ' marge nette = prix vente + frais livraison - frais réels - frais eBay - frais PayPal ' ' Un clic dans une ligne sélectionnne celle-ci. Les boutons "Mod." ' permettent de modifier les frais réels de livraison, les frais eBay ' et les fraus PaiPal. Le bouton "Supprimer" supprime la ligne de la ' luste. Le bouton "Afficher" recharge la page Web du produit (si elle ' existe encore). ' ' Le programme s'adapte automatiquement aux dimensions de l'écran si ' celles-ci sont inférieures à 1050x800 pixels. '
' *** programme initial *************************************************** labels() constantes() variables() form0() GUI() initialisations()
end
' *** routines d'évènements *********************************************** charger1: get_browser() if instr(s$, "sur eBay.fr" )=0 if left$(s$,6)<>"eBay |" BringWindowToForeground(handle(0)) message "Ce n'est pas une page eBay: "+s$ return end_if end_if get_page_text() BringWindowToForeground(handle(0))
clear no_ebay% s_org$ = clipboard_string_paste$ item_add no_ebay%,s_org$ text no_num%,"" text no_lib%,"" text no_prix%,"" text no_liv%,"" text no_lib%,"" text no_date%,"" text no_time%,"" text no_frais_ebay%,"" text no_frais_paypal%,"" display
s$ = item_read$(no_ebay%,1) if len(s$)>0 message "Il faut mémoriser une page produit eBay! ["+s$+"]" return end_if s$ = item_read$(no_ebay%,2) if s$<>"Accéder au contenu principal" message "Il faut mémoriser une page produit eBay! ["+s$+"]" return end_if s$ = item_read$(no_ebay%,3) if left$(s$,5)<>"eBay"+chr$(9) message "Il faut mémoriser une page produit eBay! ["+s$+"]" return end_if lib% = 0 prix% = 0 mode% = 0 if instr(s_org$,"Les enchères sur cet objet sont terminées.")>0 then mode% = 1 if instr(s_org$,"Cette vente avec l'option Achat immédiat est terminée.")>0 then mode% = 2 if instr(s_org$,"Petites Annonces :")>0 then mode% = 3 if mode%=0 message "Je n'ai pas pu déterminer le type de vente." return end_if
for i%=4 to count(no_ebay%) s$ = item_read$(no_ebay%,i%) ' === identifier les frais de livraison if mode%<3 p% = instr(s$,"Livraison :") if p%>0 s$ = mid$(s$,p%+12,len(s$)) p% = instr(s$," EUR") if p%>0 s$ = left$(s$,p%-1) text no_liv%,s$ end_if if instr(s$,"GRATUIT")>0 then text no_liv%,"0,00" end_if end_if if mode%=3 then text no_liv%,"0,00" ' === identifier le prix de vente if mode%<3 p% = instr(s$," EUR"+chr$(9)) if p%>0 s$ = left$(s$,p%+3) p% = instr(s$," :") if p%>0 then s$ = mid$(s$,p%+2,len(s$)) if left$(s$,1)=chr$(9) then s$ = mid$(s$,2,len(s$)) text no_prix%,left$(s$,len(s$)-4) end_if end_if if mode%=3 if left$(s$,18)="Petites Annonces :" prix% = i% + 2 end_if if i%=prix% text no_prix%,left$(s$,len(s$)-2) prix% = 0 end_if end_if ' === identifier le libellé de l'objet if mode%=1 if s$="Les enchères sur cet objet sont terminées." then lib% = 1 if (lib%=1) and (s$=chr$(9)) then lib% = i% + 1 end_if if mode%=2 if instr(s$,"Ajouté(s) à votre liste d'Affaires à suivre")>0 then lib% = 1 if (lib%=1) and (s$=chr$(9)) then lib% = i% + 1 end_if if mode%=3 if instr(s$,"Ajouter à vos Affaires à suivre")>0 then lib% = i% + 1 end_if if i%=lib% text no_lib%,s$ lib% = 0 end_if
' === identifier le numéro d'objet p% = instr(s$,"Numéro de l'objet :") if p%>0 s$ = mid$(s$,p%,len(s$)) p% = instr(s$,":") text no_num%,mid$(s$,p%+2,len(s$)) end_if ' === identifier date et heure de la fin des enchères p% = instr(s$,"Fin :"+chr$(9)) if p%>0 text no_date%,mid$(s$,p%+6,12) text no_time%,mid$(s$,p%+18,8) end_if ' === frais réels de livraison, frais eBay et frais PayPal text no_frais_reel%,"0,00" text no_frais_ebay%,"0,00" text no_frais_paypal%,"0,00"
next i% return
accepter1: if text$(no_num%)<>"" if n_table%>0 for i%=1 to n_table% s$ = grid_read$(no_table%,i%+1,4) if s$=text$(no_num%) message "Cet objet est déjà dans la liste !" return end_if next i% end_if end_if n_table% = n_table% + 1 grid_row no_table%,n_table% + 1 grid_write no_table%,n_table%+1,1,str$(n_table%) grid_write no_table%,n_table%+1,2,text$(no_date%) grid_write no_table%,n_table%+1,3,text$(no_time%) grid_write no_table%,n_table%+1,4,text$(no_num%) grid_write no_table%,n_table%+1,5,text$(no_lib%) grid_write no_table%,n_table%+1,6,text$(no_prix%) grid_write no_table%,n_table%+1,7,text$(no_liv%) grid_write no_table%,n_table%+1,8,text$(no_frais_ebay%) grid_write no_table%,n_table%+1,9,text$(no_frais_paypal%) calculer_marge(n_table%+1) totaux_plus(n_table%+1) if n_table%=1 then grid_row_fixed no_table%,1 return charger2: get_browser() if instr(s$, "- leboncoin.fr" )=0 BringWindowToForeground(handle(no_LeBonCoin%)) message "Ce n'est pas une page LeBonCoin: "+s$ return end_if get_page_text() BringWindowToForeground(handle(no_LeBonCoin%)) clear no_ebay% s_org$ = clipboard_string_paste$ item_add no_ebay%,s_org$ if instr(s_org$,"Mise en ligne par")=0 message "Ce n'est pas une page produit." return end_if lib% = 0 for i%=4 to count(no_ebay%) s$ = item_read$(no_ebay%,i%)
' === identifier le prix de vente p% = instr(s$,"Prix : "+chr$(9)) if p%>0 s$ = mid$(s$,p%+8,len(s$)) s$ = left$(s$,len(s$)-2) p% = instr(s$," ") while p%>0 s$ = left$(s$,p%-1)+mid$(s$,p%+1,len(s$)) p% = instr(s$," ") end_while if right$(s$,3)<>",00) then s$ = s$ + ",00" text no_prix2%,s$ end_if
' === identifier le libellé de l'objet if instr(s$,"Accueil > ")=1 then lib% = i% + 1 if i%=lib% text no_lib2%,s$ lib% = 0 end_if
' === identifier date et heure de la mise en vente ' Mise en ligne par Eric le 25 octobre à 23:49. p% = instr(s$,"Mise en ligne par ") if p%>0 p% = instr(s$," le ") p1% = instr(s$," à ") text no_date2%,mid$(s$,p%+4,p1%-p%-4) text no_time2%,mid$(s$,p1%+3,5) end_if next i% return accepter2: if n_table2%>0 for i%=1 to n_table2% s$ = grid_read$(no_table2%,i%+1,4) if s$=text$(no_lib2%) s$ = grid_read$(no_table2%,i%+1,5) if s$=text$(no_prix2%) message "Cet objet est déjà dans la liste !" return end_if end_if next i% end_if n_table2% = n_table2% + 1 grid_row no_table2%,n_table2% + 1 grid_write no_table2%,n_table2%+1,1,str$(n_table2%) grid_write no_table2%,n_table2%+1,2,text$(no_date2%) grid_write no_table2%,n_table2%+1,3,text$(no_time2%) grid_write no_table2%,n_table2%+1,4,text$(no_lib2%) grid_write no_table2%,n_table2%+1,5,text$(no_prix2%) calculer_marge2(n_table2%+1) totaux_plus2(n_table2%+1) if n_table2%=1 then grid_row_fixed no_table2%,1 return charger3: get_browser() if instr(s$, "Vivastreet" )=0 BringWindowToForeground(handle(no_vivastreet%)) message "Ce n'est pas une page VivaStreet: "+s$ return end_if get_page_text() BringWindowToForeground(handle(no_vivastreet%)) clear no_ebay% s_org$ = clipboard_string_paste$ item_add no_ebay%,s_org$ if instr(s_org$,"Publiée le ")=0 message "Ce n'est pas une page produit." return end_if lib% = 0 prix% = 0 maj% = 0 for i%=4 to count(no_ebay%) s$ = item_read$(no_ebay%,i%)
' === identifier le prix de vente if s$="Prix" then prix% = i% + 1 if i%=prix% s$ = left$(s$,len(s$)-1) p% = instr(s$," ") while p%>0 s$ = left$(s$,p%-1)+mid$(s$,p%+1,len(s$)) p% = instr(s$," ") end_while s$ = s$ + ",00" prix% = 0 text no_prix3%,s$ end_if
' === identifier le libellé de l'objet if instr(s$," Sauvegarder")=1 then lib% = i% + 2 if i%=lib% if left$(s$,18)="Photos Vivastreet " then s$ = mid$(s$,18,len(s$)) text no_lib3%,s$ lib% = 0 end_if ' === identifier le numéro d'annonce if instr(s$," Annonce N°")=1 text no_num3%,mid$(s$,16,len(s$)) end_if
' === identifier date de création et de mise à jour de l'annonce ' Mise en ligne par Eric le 25 octobre à 23:49. if instr(s$,"Publiée le ")=1 then text no_date3%,mid$(s$,11,10) if s$="Mise à jour le" then maj% = i% + 1 if i%=maj% text no_time3%,s$ maj% = 0 end_if next i% return
accepter3: if text$(no_num3%)<>"" if n_table3%>0 for i%=1 to n_table3% s$ = grid_read$(no_table3%,i%+1,4) if s$=text$(no_num3%) message "Cet objet est déjà dans la liste !" return end_if next i% end_if end_if n_table3% = n_table3% + 1 grid_row no_table3%,n_table3% + 1 grid_write no_table3%,n_table3%+1,1,str$(n_table3%) grid_write no_table3%,n_table3%+1,2,text$(no_date3%) grid_write no_table3%,n_table3%+1,3,text$(no_time3%) grid_write no_table3%,n_table3%+1,4,text$(no_num3%) grid_write no_table3%,n_table3%+1,5,text$(no_lib3%) grid_write no_table3%,n_table3%+1,6,text$(no_prix3%) calculer_marge3(n_table3%+1) totaux_plus3(n_table3%+1) if n_table3%=1 then grid_row_fixed no_table3%,1 return afficher: i% = mouse_y_left_down(no_table%) i% = grid_y_to_row(no_table%,i%) if i%=1 then return s$ = id_browser$ GetWindowByTitle(1,s$) hnd% = GetWindowByTitle% BringWindowToForeground(hnd%) s$ = chr$(20)+ebay_search$+grid_read$(no_table%,i%,4)+chr$(13) SendStringAsText(hnd%,s$) return supprimer: i% = mouse_y_left_down(no_table%) i% = grid_y_to_row(no_table%,i%) if i%=1 then return s$ = grid_read$(no_table%,i%,4) +": "+ grid_read$(no_table%,i%,5) if message_confirmation_yes_no("Vraiment supprimer: "+s$)=1 totaux_moins(i%) grid_row_delete no_table%,i% n_table% = n_table% - 1 end_if return supprimer2: i% = mouse_y_left_down(no_table2%) i% = grid_y_to_row(no_table2%,i%) if i%=1 then return s$ = grid_read$(no_table2%,i%,4) if message_confirmation_yes_no("Vraiment supprimer: "+s$)=1 totaux_moins2(i%) grid_row_delete no_table2%,i% n_table2% = n_table2% - 1 end_if return
supprimer3: i% = mouse_y_left_down(no_table3%) i% = grid_y_to_row(no_table3%,i%) if i%=1 then return s$ = grid_read$(no_table3%,i%,4)+" "+grid_read$(no_table3%,i%,5) if message_confirmation_yes_no("Vraiment supprimer: "+s$)=1 totaux_moins3(i%) grid_row_delete no_table3%,i% n_table3% = n_table3% - 1 end_if return
close0: grid_save no_table%,n_table%+1,c_table1%,f_base1$ grid_save no_table2%,n_table2%+1,c_table2%,f_base2$ grid_save no_table3%,n_table3%+1,c_table3%,f_base3$ return
click_table: col% = mouse_x_left_down(no_table%) col% = grid_x_to_column(no_table%,col%) if col%=4 then set_focus no_afficher% if col%=8 then set_focus no_mod_frais_reel% if col%=9 then set_focus no_mod_frais_ebay% if col%=10 then set_focus no_mod_frais_paypal% return click_table2: col% = mouse_x_left_down(no_table2%) col% = grid_x_to_column(no_table2%,col%) if col%=6 then set_focus no_mod_frais_reel2% return
click_table3: col% = mouse_x_left_down(no_table3%) col% = grid_x_to_column(no_table3%,col%) if col%=7 then set_focus no_mod_frais_reel3% return
mod_reel: i% = mouse_y_left_down(no_table%) i% = grid_y_to_row(no_table%,i%) if i%=1 then return s$ = grid_read$(no_table%,i%,8) s1$ = grid_read$(no_table%,i%,5) s2$ = grid_read$(no_table%,i%,4) if message_input("Frais livraison réels "+s2$,s1$+": "+s$,s$)=1 s2$ = message_text$ p% = instr(s2$,",") if p%>0 then s2$ = left$(s2$,p%-1) + "." + mid$(s2$,p%+1,len(s2$)) if s2$="" then s2$ = "0.00" if instr(s2$,".")=0 then s2$ = s2$ + ".00" if instr(s2$,".")=len(s2$)-1 then s2$ = s2$ + "0" if numeric(s2$)=0 then return" if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) reel_total = reel_total - val(s$) + val(s2$) marge_total = marge_total + val(s$) - val(s2$) grid_write no_table%,i%,8,s2$ calculer_marge(i%) totaux_afficher() end_if return mod_reel2: i% = mouse_y_left_down(no_table2%) i% = grid_y_to_row(no_table2%,i%) if i%=1 then return s$ = grid_read$(no_table2%,i%,6) s1$ = grid_read$(no_table2%,i%,4) if message_input("Frais livraison réels",s1$+": "+s$,s$)=1 s2$ = message_text$ p% = instr(s2$,",") if p%>0 then s2$ = left$(s2$,p%-1) + "." + mid$(s2$,p%+1,len(s2$)) if s2$="" then s2$ = "0.00" if instr(s2$,".")=0 then s2$ = s2$ + ".00" if instr(s2$,".")=len(s2$)-1 then s2$ = s2$ + "0" if numeric(s2$)=0 then return if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) reel_total2 = reel_total2 - val(s$) + val(s2$) marge_total2 = marge_total2 + val(s$) - val(s2$) grid_write no_table2%,i%,6,s2$ calculer_marge2(i%) totaux_afficher2() end_if return
mod_reel3: i% = mouse_y_left_down(no_table3%) i% = grid_y_to_row(no_table3%,i%) if i%=1 then return s$ = grid_read$(no_table3%,i%,7) s1$ = grid_read$(no_table3%,i%,5) if message_input("Frais livraison réels",s1$+": "+s$,s$)=1 s2$ = message_text$ p% = instr(s2$,",") if p%>0 then s2$ = left$(s2$,p%-1) + "." + mid$(s2$,p%+1,len(s2$)) if s2$="" then s2$ = "0.00" if instr(s2$,".")=0 then s2$ = s2$ + ".00" if instr(s2$,".")=len(s2$)-1 then s2$ = s2$ + "0" if numeric(s2$)=0 then return if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) reel_total3 = reel_total3 - val(s$) + val(s2$) marge_total3 = marge_total3 + val(s$) - val(s2$) grid_write no_table3%,i%,7,s2$ calculer_marge3(i%) totaux_afficher3() end_if return
mod_ebay: i% = mouse_y_left_down(no_table%) i% = grid_y_to_row(no_table%,i%) if i%=1 then return s$ = grid_read$(no_table%,i%,9) s1$ = grid_read$(no_table%,i%,5) s2$ = grid_read$(no_table%,i%,4) if message_input("Frais eBay objet "+s2$,s1$+": "+s$,s$)=1 s2$ = message_text$ p% = instr(s2$,",") if p%>0 then s2$ = left$(s2$,p%-1) + "." + mid$(s2$,p%+1,len(s2$)) if s2$="" then s2$ = "0.00" if instr(s2$,".")=0 then s2$ = s2$ + ".00" if instr(s2$,".")=len(s2$)-1 then s2$ = s2$ + "0" if numeric(s2$)=0 then message "x" if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) ebay_total = ebay_total - val(s$) + val(s2$) marge_total = marge_total + val(s$) - val(s2$) grid_write no_table%,i%,9,s2$ calculer_marge(i%) totaux_afficher() end_if return
mod_paypal: i% = mouse_y_left_down(no_table%) i% = grid_y_to_row(no_table%,i%) if i%=1 then return s$ = grid_read$(no_table%,i%,19) s1$ = grid_read$(no_table%,i%,5) s2$ = grid_read$(no_table%,i%,4) if message_input("Frais PayPal objet "+s2$,s1$+": "+s$,s$)=1 s2$ = message_text$ p% = instr(s2$,",") if p%>0 then s2$ = left$(s2$,p%-1) + "." + mid$(s2$,p%+1,len(s2$)) if s2$="" then s2$ = "0.00" if instr(s2$,".")=0 then s2$ = s2$ + ".00" if instr(s2$,".")=len(s2$)-1 then s2$ = s2$ + "0" if numeric(s2$)=0 then message "x" if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) paypal_total = paypal_total - val(s$) + val(s2$) marge_total = marge_total + val(s$) - val(s2$) grid_write no_table%,i%,10,s2$ calculer_marge(i%) totaux_afficher() end_if return
change_site1: select item_index(no_site1%) case 1: ' eBay - on y est case 2: ' LeBonCoin hide 0 show no_LeBonCoin% text no_site2%,item_read$(no_site2%,2) case 3: ' VivaStreet hide 0 show no_VivaStreet% text no_site3%,item_read$(no_site2%,3) end_select return change_site2: select item_index(no_site2%) case 1: ' eBay hide no_LeBonCoin% show 0 text no_site1%,item_read$(no_site1%,1) case 2: ' LeBonCoin - on y est case 3: ' VivaStreet hide no_LeBonCoin% show no_VivaStreet% text no_site3%,item_read$(no_site3%,3) end_select return
change_site3: select item_index(no_site3%) case 1: ' eBay hide no_VivaStreet% show 0 text no_site1%,item_read$(no_site1%,1) case 2: ' LeBonCoin hide no_VivaStreet% show no_LeBonCoin% text no_site2%,item_read$(no_site2%,2) case 3: ' VivaStreet - on y est end_select return
close_leboncoin: hide no_LeBonCoin% show 0 text no_site1%,item_read$(no_site1%,1) to_foreground 0 return
close_vivastreet: hide no_vivastreet% show 0 text no_site1%,item_read$(no_site1%,1) to_foreground 0 return
' *** procédures du programme initial ************************************* sub labels() label close0, charger1, accepter1, afficher, supprimer, click_table label mod_ebay, mod_paypal, mod_reel, change_site1, close_leboncoin label change_site2, charger2, accepter2, mod_reel2, supprimer2 label click_table2 label change_site3, charger3, accepter3, mod_reel3, supprimer3 label click_table3, close_vivastreet end_sub
sub constantes() dim c_table1% : c_table1% = 11 : ' eBay dim c_table2% : c_table2% = 7 : ' LeBonCoin dim c_table3% : c_table3% = 8 : ' VivaStreet dim f_base1$ : f_base1$ = "ebay_ventes.txt" dim f_base2$ : f_base2$ = "leboncoin_ventes.txt" dim f_base3$ : f_base3$ = "vivastreet_ventes.txt" dim id_browser$ : id_browser$ = " - Mozilla Firefox" dim ebay_search$ : ebay_search$ = "http://cgi.ebay.fr/ws/eBayISAPI.dll?ViewItem&item=" dim delta_w% : delta_w% = 0 dim delta_h% : delta_h% = 0 dim delta_w2% : delta_w2% = 0 dim delta_w3% : delta_w3% = 0 end_sub
sub variables() dim no%, s$, s1$, s2$, s_org$, i%, p%, p1%, site%, maj% dim lib%, prix%, i1%, n%, mode%, col%, nom$, hnd% dim no_ebay%, no_num%, no_lib%, no_prix%, no_liv% dim no_date%, no_time%, no_table%, no_total%, no_frais_reel% dim no_mod_frais_ebay%, no_mod_frais_paypal%, no_mod_frais_reel% dim no_frais_ebay%, no_frais_paypal%, no_afficher%, no_site1%, no_site2% dim n_table%, marge, no_site3% dim prix_total, liv_total, reel_total, ebay_total, paypal_total, marge_total dim prix_global, liv_global, reel_global, ebay_global, paypal_global, marge_global dim no_LeBonCoin%, no_prix2%, no_lib2%, no_date2%, no_time2%, no_table2% dim no_total2%, marge2, n_table2%, prix_total2, reel_total2, marge_total2 dim no_mod_frais_reel2% dim no_VivaStreet%, no_prix3%, no_lib3%, no_date3%, no_time3%, no_table3% dim no_total3%, marge3, n_table3%, prix_total3, reel_total3, marge_total3 dim no_mod_frais_reel3%, no_num3% end_sub
sub form0() if screen_x<1050 then delta_w% = 1050 - screen_y if screen_y<800 then delta_w% = 800 - screen_y if screen_x<830 then delta_w2% = 830-screen_x if screen_x<1030 then delta_w3% = 1030-screen_x ' simuler écran 800x600 ' delta_w% = 1050-800 ' delta_h% = 800-600 ' delta_w2% = 830-800 ' delta_w3% = 1030-900 ' fin simulation de 800x600
caption 0,"Gestion des ventes eBay" width 0,1050 - delta_w% : height 0,800 - delta_h% on_close 0,close0 end_sub
sub GUI() no% = no% + 1 : memo no% : no_ebay% = no% : width no%,900 hide no% ' ****** GUI pour site eBay no% = no% + 1 : combo no% : top no%,10 : left no%,10 : width no%,80 no_site1% = no% : on_click no%,change_site1 item_add no%,"eBay" item_add no%,"LeBonCoin" item_add no%,"VivaStreet" text no%,item_read$(no%,1) no% = no% + 1 : button no% : top no%,40 : left no%,10 caption no%,"Charger" : on_click no%,charger1 no% = no% + 1 : button no% : top no%,70 : left no%,10 caption no%,"Accepter" : on_click no%,accepter1
no% = no% + 1 : alpha no% top no%,10 : left no%,120 : caption no%,"Objet:" no% = no% + 1 : edit no% : no_num% = no% top no%,10 : left no%,160 no% = no% + 1 : alpha no% top no%,10 : left no%,300 : caption no%,"Titre:" no% = no% + 1 : edit no% : no_lib% = no% : width no%,400 top no%,10 : left no%,360 no% = no% + 1 : alpha no% top no%,40 : left no%,120 : caption no%,"Prix:" no% = no% + 1 : edit no% : no_prix% = no% top no%,40 : left no%,160 : width no%,80 no% = no% + 1 : alpha no% top no%,40 : left no%,300 : caption no%,"Livraison:" no% = no% + 1 : edit no% : no_liv% = no% top no%,40 : left no%,360 : width no%,50 no% = no% + 1 : alpha no% top no%,40 : left no%,430 : caption no%,"Frais réels:" no% = no% + 1 : edit no% : no_frais_reel% = no% top no%,40 : left no%,510 : width no%,50 no% = no% + 1 : alpha no% top no%,40 : left no%,580 : caption no%,"Date:" no% = no% + 1 : edit no% : no_date% = no% top no%,40 : left no%,620 : width no%,80 no% = no% + 1 : alpha no% top no%,70 : left no%,580 : caption no%,"Heure:" no% = no% + 1 : edit no% : no_time% = no% top no%,70 : left no%,620 : width no%,60 no% = no% + 1 : alpha no% top no%,70 : left no%,300 : caption no%,"Frais eBay:" no% = no% + 1 : edit no% : no_frais_ebay% = no% top no%,70 : left no%,360 : width no%,50 no% = no% + 1 : alpha no% top no%,70 : left no%,430 : caption no%,"Frais PayPal:" no% = no% + 1 : edit no% : no_frais_paypal% = no% top no%,70 : left no%,510 : width no%,50
no% = no% + 1 : grid no% : no_table% = no% top no%,130 : left no%,c_table1% width no%,1027-delta_w% : height no%,453-delta_h% on_click no%,click_table grid_row no%,1 : grid_column no%,c_table1% grid_one_column_width no%,1,50 grid_write no%,1,1,"No." grid_one_column_width no%,2,80 grid_write no%,1,2,"Date" grid_one_column_width no%,3,60 grid_write no%,1,3,"Heure" grid_one_column_width no%,4,80 grid_write no%,1,4,"Objet" grid_one_column_width no%,5,400-delta_w% grid_write no%,1,5,"Titre" grid_one_column_width no%,6,80 grid_write no%,1,6,"Prix" grid_one_column_width no%,7,50 grid_write no%,1,7,"Livraison" grid_one_column_width no%,8,50 grid_write no%,1,8,"Frais réels" grid_one_column_width no%,9,50 grid_write no%,1,9,"eBay" grid_one_column_width no%,10,50 grid_write no%,1,10,"PayPal" grid_one_column_width no%,11,50 grid_write no%,1,11,"Marge"
no% = no% + 1 : grid no% : no_total% = no% top no%,590-delta_h% : left no%,10 width no%,1027 - delta_w% height no%,155 grid_row no%,5 : grid_column no%,c_table1% grid_one_column_width no%,1,50 grid_write no%,1,1,"Total" grid_write no%,2,1,"eBay" grid_write no%,3,1,"LeBonC..." Grid_Write no%,4,1,"VivaStr..." Grid_Write no%,5,1,"Total" grid_one_column_width no%,2,80 grid_one_column_width no%,3,60 grid_one_column_width no%,4,80 grid_one_column_width no%,5,400-delta_w% grid_one_column_width no%,6,80 grid_write no%,1,6,"Prix" grid_one_column_width no%,7,50 grid_write no%,1,7,"Livraison" grid_one_column_width no%,8,50 grid_write no%,1,8,"Frais réels" grid_one_column_width no%,9,50 grid_write no%,1,9,"eBay" grid_one_column_width no%,10,50 grid_write no%,1,10,"PayPal" grid_one_column_width no%,11,50 grid_write no%,1,11,"Marge"
no% = no% + 1 : button no% : top no%,100 : left no%,205 caption no%,"Afficher" : on_click no%,afficher : no_afficher% = no% no% = no% + 1 : button no% : top no%,100 : left no%,400 caption no%,"Supprimer" : on_click no%,supprimer no% = no% + 1 : button no% : top no%,100 left no%,820-delta_w% : width no%,50 caption no%,"Mod." : on_click no%,mod_reel : no_mod_frais_reel% = no% no% = no% + 1 : button no% : top no%,100 left no%,870-delta_w% : width no%,50 caption no%,"Mod." : on_click no%,mod_ebay : no_mod_frais_ebay% = no% no% = no% + 1 : button no% : top no%,100 left no%,920-delta_w% : width no%,50 caption no%,"Mod." : on_click no%,mod_paypal : no_mod_frais_paypal% = no%
' ****** GUI pour site LeBonCoin no% = no% + 1 : form no% : hide no% : no_LeBonCoin% = no% width no%,1050-delta_w% : height no%,800-delta_h% caption no%,"Gestion des ventes LeBonCoin" on_close no%,close_leboncoin command_target_is no% no% = no% + 1 : combo no% : top no%,10 : left no%,10 : width no%,80 no_site2% = no% : on_click no%,change_site2 item_add no%,"eBay" item_add no%,"LeBonCoin" item_add no%,"VivaStreet" text no%,item_read$(no%,2)
no% = no% + 1 : button no% : top no%,40 : left no%,10 caption no%,"Charger" : on_click no%,charger2 no% = no% + 1 : button no% : top no%,70 : left no%,10 caption no%,"Accepter" : on_click no%,accepter2 no% = no% + 1 : alpha no% top no%,40 : left no%,120 : caption no%,"Prix:" no% = no% + 1 : edit no% : no_prix2% = no% top no%,40 : left no%,160 : width no%,80 no% = no% + 1 : alpha no% top no%,10 : left no%,300 : caption no%,"Titre:" no% = no% + 1 : edit no% : no_lib2% = no% : width no%,400 top no%,10 : left no%,360 no% = no% + 1 : alpha no% top no%,40 : left no%,580 : caption no%,"Date:" no% = no% + 1 : edit no% : no_date2% = no% top no%,40 : left no%,620 : width no%,80 no% = no% + 1 : alpha no% top no%,70 : left no%,580 : caption no%,"Heure:" no% = no% + 1 : edit no% : no_time2% = no% top no%,70 : left no%,620 : width no%,60
no% = no% + 1 : grid no% : no_table2% = no% top no%,130 : left no%,c_table2% : width no%,798-delta_w2% height no%,503 - delta_h% on_click no%,click_table2 grid_row no%,1 : grid_column no%,c_table2% grid_one_column_width no%,1,50 grid_write no%,1,1,"No." grid_one_column_width no%,2,80 grid_write no%,1,2,"Date" grid_one_column_width no%,3,60 grid_write no%,1,3,"Heure" grid_one_column_width no%,4,400-delta_w2% grid_write no%,1,4,"Titre" grid_one_column_width no%,5,80 grid_write no%,1,5,"Prix" grid_one_column_width no%,6,50 grid_write no%,1,6,"Frais réels" grid_one_column_width no%,7,50 grid_write no%,1,7,"Marge"
no% = no% + 1 : grid no% : no_total2% = no% top no%,640-delta_h% : left no%,10 width no%,798-delta_w2% : height no%,56 grid_row no%,2 : grid_column no%,c_table2% grid_one_column_width no%,1,50 grid_write no%,1,1,"Total" grid_one_column_width no%,2,80 grid_one_column_width no%,3,60 grid_one_column_width no%,4,400-delta_w2% grid_one_column_width no%,5,80 grid_write no%,1,5,"Prix" grid_one_column_width no%,6,50 grid_write no%,1,6,"Frais réels" grid_one_column_width no%,7,50 grid_write no%,1,7,"Marge"
no% = no% + 1 : button no% : top no%,100 : left no%,400-delta_w2% caption no%,"Supprimer" : on_click no%,supprimer2 no% = no% + 1 : button no% : top no%,100 left no%,685-delta_w2% : width no%,50 caption no%,"Mod." : on_click no%,mod_reel2 : no_mod_frais_reel2% = no%
' ****** GUI pour site VivaStreet no% = no% + 1 : form no% : hide no% : no_VivaStreet% = no% width no%,1050-delta_w% : height no%,800-delta_h% caption no%,"Gestion des ventes VivaStreet" on_close no%,close_vivastreet command_target_is no% no% = no% + 1 : combo no% : top no%,10 : left no%,10 : width no%,80 no_site3% = no% : on_click no%,change_site3 item_add no%,"eBay" item_add no%,"LeBonCoin" item_add no%,"VivaStreet" text no%,item_read$(no%,3)
no% = no% + 1 : alpha no% top no%,10 : left no%,110 : caption no%,"Annonce:" no% = no% + 1 : edit no% : no_num3% = no% top no%,10 : left no%,160 no% = no% + 1 : button no% : top no%,40 : left no%,10 caption no%,"Charger" : on_click no%,charger3 no% = no% + 1 : button no% : top no%,70 : left no%,10 caption no%,"Accepter" : on_click no%,accepter3 no% = no% + 1 : alpha no% top no%,40 : left no%,110 : caption no%,"Prix:" no% = no% + 1 : edit no% : no_prix3% = no% top no%,40 : left no%,160 : width no%,80 no% = no% + 1 : alpha no% top no%,10 : left no%,300 : caption no%,"Titre:" no% = no% + 1 : edit no% : no_lib3% = no% : width no%,400 top no%,10 : left no%,360 no% = no% + 1 : alpha no% top no%,40 : left no%,580 : caption no%,"Publié:" no% = no% + 1 : edit no% : no_date3% = no% top no%,40 : left no%,640 : width no%,80 no% = no% + 1 : alpha no% top no%,70 : left no%,580 : caption no%,"Mise à jour:" no% = no% + 1 : edit no% : no_time3% = no% top no%,70 : left no%,640 : width no%,80
no% = no% + 1 : grid no% : no_table3% = no% top no%,130 : left no%,c_table3% width no%,898 - delta_w3% height no%,503 - delta_h% on_click no%,click_table3 grid_row no%,1 : grid_column no%, c_table3% grid_one_column_width no%,1,50 grid_write no%,1,1,"No." grid_one_column_width no%,2,80 grid_write no%,1,2,"Publié" grid_one_column_width no%,3,80 grid_write no%,1,3,"Mise à jour" grid_one_column_width no%,4,80 grid_write no%,1,4,"Annonce" grid_one_column_width no%,5,400-delta_w3% grid_write no%,1,5,"Titre" grid_one_column_width no%,6,80 grid_write no%,1,6,"Prix" grid_one_column_width no%,7,50 grid_write no%,1,7,"Frais réels" grid_one_column_width no%,8,50 grid_write no%,1,8,"Marge"
no% = no% + 1 : grid no% : no_total3% = no% top no%,640-delta_h% : left no%,10 width no%,898 - delta_w3% : height no%,56 grid_row no%,2 : grid_column no%,c_table3% grid_one_column_width no%,1,50 grid_write no%,1,1,"Total" grid_one_column_width no%,2,80 grid_one_column_width no%,3,80 grid_one_column_width no%,4,80 grid_one_column_width no%,5,400-delta_w3% grid_one_column_width no%,6,80 grid_write no%,1,6,"Prix" grid_one_column_width no%,7,50 grid_write no%,1,7,"Frais réels" grid_one_column_width no%,8,50 grid_write no%,1,8,"Marge"
no% = no% + 1 : button no% : top no%,100 : left no%,400-delta_w3% caption no%,"Supprimer" : on_click no%,supprimer3 no% = no% + 1 : button no% : top no%,100 left no%,785-delta_w3% : width no%,50 caption no%,"Mod." : on_click no%,mod_reel3 : no_mod_frais_reel3% = no%
command_target_is 0 end_sub
sub initialisations() dim_local s1$ site% = 1 : ' défaut: démarrer abev eBay n_table% = 0 prix_total = 0 liv_total = 0 if file_exists(f_base1$)=1 then grid_load no_table%,f_base1$ if file_exists(f_base2$)=1 then grid_load no_table2%,f_base2$ if file_exists(f_base3$)=1 then grid_load no_table3%,f_base3$ n_table% = 1 repeat s1$ = grid_read$(no_table%,n_table%+1,1) if s1$="" then exit_repeat totaux_plus(n_table%+1) n_table% = n_table% + 1 until s1$="" grid_row no_table%, n_table% n_table% = n_table% - 1 if n_table%>0 then grid_row_fixed no_table%,1 n_table2% = 1 repeat s1$ = grid_read$(no_table2%,n_table2%+1,1) if s1$="" then exit_repeat totaux_plus2(n_table2%+1) n_table2% = n_table2% + 1 until s1$="" grid_row no_table2%, n_table2% n_table2% = n_table2% - 1 if n_table2%>0 then grid_row_fixed no_table2%,1 n_table3% = 1 repeat s1$ = grid_read$(no_table3%,n_table3%+1,1) if s1$="" then exit_repeat totaux_plus3(n_table3%+1) n_table3% = n_table3% + 1 until s1$="" grid_row no_table3%, n_table3% n_table3% = n_table3% - 1 if n_table3%>0 then grid_row_fixed no_table3%,1 KGF_initialize("KGF.dll") nom$ = "firefox.exe" hnd% = dll_call1("GetProcessWindowHandle",adr(nom$))
end_sub
' *** procédures de l'application ***************************************** sub totaux_plus(ind%) s$ = grid_read$(no_table%,ind%,6) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) prix_total = prix_total + val(s$) prix_global = prix_global + val(s$) s$ = grid_read$(no_table%,ind%,7) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) liv_total = liv_total + val(s$) liv_global = liv_global + val(s$) s$ = grid_read$(no_table%,ind%,8) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) reel_total = reel_total + val(s$) reel_global = reel_global + val(s$) s$ = grid_read$(no_table%,ind%,9) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) ebay_total = ebay_total + val(s$) ebay_global = ebay_global + val(s$) s$ = grid_read$(no_table%,ind%,10) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) paypal_total = paypal_total + val(s$) paypal_global = paypal_global + val(s$) s$ = grid_read$(no_table%,ind%,c_table1%) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge_total = marge_total + val(s$) marge_global = marge_global + val(s$) totaux_afficher() end_sub
sub totaux_plus2(ind%) s$ = grid_read$(no_table2%,ind%,5) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) prix_total2 = prix_total2 + val(s$) prix_global = prix_global + val(s$) s$ = grid_read$(no_table2%,ind%,6) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) reel_total2 = reel_total2 + val(s$) reel_global = reel_global + val(s$) s$ = grid_read$(no_table2%,ind%,c_table2%) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge_total2 = marge_total2 + val(s$) marge_global = marge_global + val(s$) totaux_afficher2() end_sub
sub totaux_plus3(ind%) s$ = grid_read$(no_table3%,ind%,6) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) prix_total3 = prix_total3 + val(s$) prix_global = prix_global + val(s$) s$ = grid_read$(no_table3%,ind%,7) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) reel_total3 = reel_total3 + val(s$) reel_global = reel_global + val(s$) s$ = grid_read$(no_table3%,ind%,c_table3%) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge_total3 = marge_total3 + val(s$) marge_global = marge_global + val(s$) totaux_afficher3() end_sub
sub totaux_moins(ind%) s$ = grid_read$(no_table%,ind%,6) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) prix_total = prix_total - val(s$) prix_global = prix_global - val(s$) s$ = grid_read$(no_table%,ind%,7) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) liv_total = liv_total - val(s$) liv_global = liv_global - val(s$) s$ = grid_read$(no_table%,ind%,8) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) reel_total = reel_total - val(s$) reel_global = reel_global - val(s$) s$ = grid_read$(no_table%,ind%,9) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) ebay_total = ebay_total - val(s$) ebay_global = ebay_global - val(s$) s$ = grid_read$(no_table%,ind%,10) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) paypal_total = paypal_total - val(s$) paypal_global = paypal_global - val(s$) s$ = grid_read$(no_table%,ind%,c_table1%) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge_total = marge_total - val(s$) marge_global = marge_global - val(s$) totaux_afficher() end_sub
sub totaux_moins2(ind%) s$ = grid_read$(no_table2%,ind%,5) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) prix_total2 = prix_total2 - val(s$) prix_global = prix_global - val(s$) s$ = grid_read$(no_table2%,ind%,6) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) reel_total2 = reel_total2 - val(s$) reel_global = reel_global - val(s$) s$ = grid_read$(no_table2%,ind%,c_table2%) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge_total2 = marge_total2 - val(s$) marge_global = marge_global - val(s$) totaux_afficher2() end_sub
sub totaux_moins3(ind%) s$ = grid_read$(no_table3%,ind%,6) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) prix_total3 = prix_total3 - val(s$) prix_global = prix_global - val(s$) s$ = grid_read$(no_table3%,ind%,7) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) reel_total3 = reel_total3 - val(s$) reel_global = reel_global - val(s$) s$ = grid_read$(no_table3%,ind%,c_table3%) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge_total3 = marge_total3 - val(s$) marge_global = marge_global - val(s$) totaux_afficher3() end_sub
sub totaux_afficher() grid_write no_total%,2,1,str$(n_table%) s$ = str$(prix_total) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,2,6,s$ s$ = str$(liv_total) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,2,7,s$ s$ = str$(reel_total) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,2,8,s$ s$ = str$(ebay_total) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,2,9,s$ s$ = str$(paypal_total) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,2,10,s$ s$ = str$(marge_total) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,2,11,s$ globaux_afficher() end_sub
sub totaux_afficher2() grid_write no_total2%,2,1,str$(n_table2%) s$ = str$(prix_total2) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total2%,2,5,s$ grid_write no_total%,3,6,s$ s$ = str$(reel_total2) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total2%,2,6,s$ grid_write no_total%,3,8,s$ s$ = str$(marge_total2) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total2%,2,c_table2%,s$ grid_write no_total%,3,c_table1%,s$ globaux_afficher() end_sub
sub totaux_afficher3() grid_write no_total3%,2,1,str$(n_table3%) s$ = str$(prix_total3) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total3%,2,6,s$ grid_write no_total%,4,6,s$ s$ = str$(reel_total3) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total3%,2,7,s$ grid_write no_total%,4,8,s$ s$ = str$(marge_total3) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total3%,2,c_table3%,s$ grid_write no_total%,4,c_table1%,s$ globaux_afficher() end_sub
sub globaux_afficher() s$ = str$(prix_global) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,5,6,s$ s$ = str$(liv_global) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,5,7,s$ s$ = str$(reel_global) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,5,8,s$ s$ = str$(ebay_global) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,5,9,s$ s$ = str$(paypal_global) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,5,10,s$ s$ = str$(marge_global) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_total%,5,c_table1%,s$ end_sub
sub calculer_marge(ind%) s$ = grid_read$(no_table%,ind%,6) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge = val(s$) s$ = grid_read$(no_table%,ind%,7) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge = marge + val(s$) s$ = grid_read$(no_table%,ind%,8) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge = marge - val(s$) s$ = grid_read$(no_table%,ind%,9) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge = marge - val(s$) s$ = grid_read$(no_table%,ind%,10) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge = marge - val(s$) s$ = str$(marge) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_table%,ind%,c_table1%,s$ end_sub
sub calculer_marge2(ind%) s$ = grid_read$(no_table2%,ind%,5) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge2 = val(s$) s$ = grid_read$(no_table2%,ind%,6) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge2 = marge2 - val(s$) s$ = str$(marge2) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_table2%,ind%,c_table2%,s$ end_sub
sub calculer_marge3(ind%) s$ = grid_read$(no_table3%,ind%,6) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge3 = val(s$) s$ = grid_read$(no_table3%,ind%,7) if s$="" then s$ = "0.00" s$ = left$(s$,len(s$)-3) + "." + right$(s$,2) marge3 = marge3 - val(s$) s$ = str$(marge3) p% = instr(s$,".") if p%>0 then s$ = left$(s$,p%-1) + "," + mid$(s$,p%+1,len(s$)) if instr(s$,",")=0 then s$ = s$ + ",00" if instr(s$,",")=len(s$)-1 then s$ = s$ + "0" grid_write no_table3%,ind%,c_table3%,s$ end_sub
sub get_browser() s$ = id_browser$ GetWindowByTitle(1,s$) hnd% = GetWindowByTitle% BringWindowToForeground(hnd%)
s$ = string$(255," ") GetActiveWindowTitle() s$ = GetActiveWindowTitle$ s$ = trim$(s$) end_sub
sub get_page_text() s$ = chr$(9)+chr$(9)+chr$(9)+chr$(9)+chr$(9)+chr$(9)+chr$(9)+chr$(9)+chr$(9) SendStringAsChars(hnd%,s$) s$ = chr$(1) SendStringAsText(hnd%,s$) pause 300 s$ = chr$(3) SendStringAsText(hnd%,s$) CopyToClipboard(hnd%) end_sub
#INCLUDE "KGF_SUB.bas"
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Gestion des ventes sur eBay Sam 27 Oct 2012 - 22:51 | |
| Nouvelle version: ajout des fonctionnalités de sauvegarde et restauration, par la combo de sélection des sites, qui est complétée ainsi: EDIT Le source devient trop grand pour être posté dans un message du forum. Je l'ai donc mis sur MyDrive, dans le dossier "ebay_ventes".
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Gestion des ventes sur eBay Dim 28 Oct 2012 - 10:31 | |
| J'ai mis une version en ligne sur MyDrive, avec les nouveautés suivantes: - la caption de la form 0 affiche le numéro de version (1.00 maintenant) - j'ai intégré l'astuce de Bignono pour contourner le problème de la suppression du dernier enregistrement utilie d'un GRID. Pour mémoire, si l'on utilise la ligne 1 comme ligne fixe avec des titres, et si le nombre de lignes du tableau chute à 1 (donc plus de lignes de données), la ligne 1 perd son statut de ligne fixe et devient une simple ligne de données. Ce problème est maintenant contourné grâce à l'aide de Bignono. La variable bug_fixes% conditionne tout lee code nécessaire pour gérer cela, ce qui permet de revenir sur cette modif lorsque Jack aura résolu ce problème.
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Gestion des ventes sur eBay Dim 28 Oct 2012 - 23:53 | |
| Version V1.01: ' V1.01 28/10/2012 correction d'un bug dans l'acceptation d'un objet ' et insertion d'objets eBay en ordre chronologique
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Gestion des ventes sur eBay Lun 29 Oct 2012 - 10:24 | |
| Version V1.02: ' V1.02 29/10/2012 sécurisation des montants et dates saisis pour eBay
au lieu de récupérer une page produit du site eBay, on peut aussi saisir directement les informations. C'est pour cette raison que le programme vérifie tous les montants et la date et en assure un format correct. Tout montant non conforme sera remplacé par "0,00", et toute date non conforme au format jj/mm/aaaa sera remplacée par la date du jour.
| |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Gestion des ventes sur eBay Lun 29 Oct 2012 - 14:19 | |
| V1.03: ' V1.03 29/10/2012 sécurisation des montants saisis pour LeBonCoin et VivaStreet
C'est la même protection que pour eBay, pour le cas d'une saisie directe d'une vente sans passer par la fonction de chargement d'une page produit du site. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Gestion des ventes sur eBay Lun 29 Oct 2012 - 21:42 | |
| V1.04: ' V1.04 29/10/2012 impression du tableau de synthèse Sur la page eBay, il y a un nouveau bouton "Impr. Totaux", à gauche en-dessous de "Accepter". Ce bouton ouvre le dialogue de sélection d'imprimante, puis imprime un fichier du style: C'est en même temps un excellent exemple pour la création d'éditions personnalisées. | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Gestion des ventes sur eBay Mar 30 Oct 2012 - 9:47 | |
| V1.05: ' V1.05 30/10/2012 tous les montants sont cadrés à droite Les tableaux sont beaucoup plus lisibles comme ça. Deux procédures de cadrage sont fournies. Elles retournent la chaîne cadrée dans la variable globale sjust$. m$ est la chaîne à centrer, g% est le numéro d'objet dans lequel la chaîne devra être placée, et w% est la largeur en pixels de l'objet (ou de la cellule du grid). La procédure de cadrage à droite: - Code:
-
sub right_justify(m$,g%,w%) dim_local x%, sp%, t% sp% = text_width(" ",g%) t% = text_width(m$,g%) x% = int((w%-sp%-t%)/sp%) if x%>0 sjust$ = string$(x%," ")+m$ else sjust$ = m$ end_if end_sub La procédure de centrage: - Code:
-
sub center_justify(m$,g%,w%) dim_local x%,sp%, t% sp% = text_width(" ",g%) t% = text_width(m$,g%) ' *** bug dans Panoramic *** x% = int((w%-sp%-t%)/sp%/2) x% = int((w%-sp%-t%)/sp%*2) : ' *** contourner le bug dans PAnoramic *** if x%>0 sjust$ = string$(x%," ")+m$ else sjust$ = m$ end_if end_sub
Dernière édition par Klaus le Mar 30 Oct 2012 - 22:54, édité 3 fois | |
| | | bignono
Nombre de messages : 1127 Age : 67 Localisation : Val de Marne Date d'inscription : 13/11/2011
| Sujet: Re: Gestion des ventes sur eBay Mar 30 Oct 2012 - 14:02 | |
| Klaus, tes procédures de centrage à droite ou au milieu d'une cellulle fonctionnent super bien et seront très utiles! Par contre dans la procédure de centrage tu as mis dans ton code: x% = int((w%-sp%-t%)/sp%/2) ce qui ne donne pas le résultat escompté. J'ai mis à la place *2 à la fin de ta formule, et là le texte est bien centré. cordialement, A+ | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Gestion des ventes sur eBay Mar 30 Oct 2012 - 17:27 | |
| Merci pour l'info, Bignono. Mais à mon avis, c'est un bug. Deux divisions successives doivent se dérouler de gauche à droite, et non de droite à gauche. J'ai signalé ce bug dans la rubrique correspondante.
EDIT
J'ai adapté la procédure de centrage dans mon post ci-dessus, en marquant clairement le contournement du problème. | |
| | | Contenu sponsorisé
| Sujet: Re: Gestion des ventes sur eBay | |
| |
| | | | Gestion des ventes sur eBay | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |