VBA, winsock et serveur WEB
Le
Christian Herbé
Bonsoir
Ayant un peu de temps ces jours-ci, et surtout profitant de l'absence de
JPS qui écume certainement les foires aux vins, je reviens sur une
question de Misange qui me serait également utile.
Le but est de mettre à jour une base de données MySQL sur un serveur WEB
depuis Excel, si possible en une seule macro.
Il faut:
enregistrer le fichier en CSV,
le transférer sur le serveur WEB,
que le serveur exécute un script PHP pour modifier la base de données.
Le fichier CSV peut certainement être expédié via VBA-Winsock; je n'ai
jamais fait mais ça doit être réalisable.
Ensuite, il faudrait simuler le chargement d'une page WEB contenant le
script PHP nécessaire à la mise à jour de la base de données (le script
PHP, je sais faire)
Ma question est:
avec VBA-Winsock, comment simuler le chargement de la page WEB c'est à
dire faire en sorte que le serveur WEB reçoive une requête HTTP et ne
l'affiche nul part ; le but étant d'exécuter le script contenu dans la
page WEB?
Accessoirement, si quelqu'un a le code VBA-Winsock-FTP, ça me simplifira
la vie !
Merci.
--
Ayant un peu de temps ces jours-ci, et surtout profitant de l'absence de
JPS qui écume certainement les foires aux vins, je reviens sur une
question de Misange qui me serait également utile.
Le but est de mettre à jour une base de données MySQL sur un serveur WEB
depuis Excel, si possible en une seule macro.
Il faut:
enregistrer le fichier en CSV,
le transférer sur le serveur WEB,
que le serveur exécute un script PHP pour modifier la base de données.
Le fichier CSV peut certainement être expédié via VBA-Winsock; je n'ai
jamais fait mais ça doit être réalisable.
Ensuite, il faudrait simuler le chargement d'une page WEB contenant le
script PHP nécessaire à la mise à jour de la base de données (le script
PHP, je sais faire)
Ma question est:
avec VBA-Winsock, comment simuler le chargement de la page WEB c'est à
dire faire en sorte que le serveur WEB reçoive une requête HTTP et ne
l'affiche nul part ; le but étant d'exécuter le script contenu dans la
page WEB?
Accessoirement, si quelqu'un a le code VBA-Winsock-FTP, ça me simplifira
la vie !
Merci.
--

Poser une question


Appréciation erronée : jps vient de passer ;-)))
--
Cordialement,
Michel Gaboly
http://www.gaboly.com
avoir de temps, pour lui s'entend...
passez-moi sarko...
jps
Christian Herbé a écrit:
bonne nuit les félons...
jps
Michel Gaboly a écrit:
Ah que ce mail me va droit au coeur ! j'en causais justement hier soir à
mais je crois que j'ai même pas réussi à lui faire comprendre ce que
je cherche à faire. ! Pourtant je suis sure qu'il pourrait avoir de
bonnes idées en la matière. En tous cas, je suis toujours très très
intéressée.
En ce qui me concerne voici la situation que je cherche à résoudre :
j'ai sur mon PC un classeur excel comportant par exemple la liste des
classeurs proposés en téléchargement sur excelabo.
Quand quelqu'un comme Michel Holderitz me propose un classeur (je dis ça
parce que je me rends compte que justement j'ai oublié de mettre celui
qu'il m'a proposé en ligne hier... ), j'ouvre mon classeur excel et je
lance un userform "nouveau classeur" qui me permet de renseigner les
différentes rubriques nécessaires.
Par une subtile macro liée à un bouton d'un bleu du plus bel effet à mon
gout, je génère à partir de ce classeur une feuille "nouveau.sql"
contenant les instructions pour insérer ces données dans la base mysql
qui est hébergée chez online.
Ensuite et c'est à partir de là que je voudrais automatiser les choses,
j'ouvre mon fureteur préféré, j'ouvre la page php-myadmin d'excelabo qui
n'est jamais qu'une interface web avec ma base mysql, je sélectionne
l'emplacement de mon fichier nouveau.sql sur mon disque dur et je lui
demande d'exécuter la requête. Les nouveaux enregistrements sont alors
ajoutés à la base existante.
Ce qui serait vraiment mais vraiment génial ce serait de pouvoir lancer
toutes ces opérations depuis un bouton placé dans mon classeur excel.
Toutes idées, surtout géniales très bienvenues :-)
Et je suis ravie de voir que je ne suis pas la seule à être intéressée :-)
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
qu'est-ce que tu crois; je garde en mémoire les demandes quand je pense
qu'une solution est possible tout en n'ayant pas la réponse sous le coude.
Je pense également à ta question sur les solutions graphiques à trouver.
Je ne vois pas vraiment d'autre moyen que l'usage de Winsock mais je
viens de me rendre compte qu'il n'est pas dispo en VBA. Il faut
registrer l'activeX à l'aide de VB.
Je reflechis tout en écrivant ce qui me fait penser à une autre piste à
l'aide des commandes shell:
FTP depuis DOS puis exécuter le navigateur soit en shell en mode réduit
avec l'adresse de la page web en option,
soit le piloter avec des commandes send ... mais ce n'est pas très
propre. A vérifier !