GNT sans publicité, site mobile, fonctionnalitées exclusives...

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.

--
Lire les 44 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 9
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Michel Gaboly
Le #293594
Bonsoir,

Appréciation erronée : jps vient de passer ;-)))


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.

--


--
Cordialement,

Michel Gaboly
http://www.gaboly.com

sabatier
Le #293593
le lorrain est jaloux, m'sieurs dames...et puis un maire ne devrait pas
avoir de temps, pour lui s'entend...
passez-moi sarko...
jps

Christian Herbé a écrit:
Bonsoir

Ayant un peu de temps ces jours-ci, et surtout profitant de l'absence de
JPS qui écume certainement les foires aux vins,


sabatier
Le #293592
et tel le furet, il repassera par là...
bonne nuit les félons...
jps

Michel Gaboly a écrit:
Bonsoir,

Appréciation erronée : jps vient de passer ;-)))





Misange
Le #294282
Christian Herbé wrote:

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.



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

Christian Herbé
Le #294137


Ah que ce mail me va droit au coeur !


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.


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.


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 !

Publicité
Suivre les réponses
Poster une réponse
Anonyme