Envoyer des données en ligne ? MySQL ? Google Sheets ?

Hello World !

J'ai développé il y a un an via Excel et le VBA une application de gestion et de régulation des envois d'ambulances pour le SAMU 91.

Cet application permet de répertorier les informations de toutes les interventions demandées par le SAMU ainsi que l'affectation des différentes ambulances, un synoptique permettant la consultation en temps réel des disponibilités de ces mêmes ambulance et surtout un système de comptage du nombre d'interventions de la journée, du nombre d'interventions annulées, etc etc..

Cette application est utilisée par une 20aine de régulateurs différents qui se relaient jour et nuit pour assurer la garde ambulancière. La journée cette application est utilisée directement au SAMU et la nuit elle est utilisée sur l'ordinateur personnel du régulateur de garde.

Le classeur est donc utilisé pendant 12h de jour, puis un classeur vierge est utilisé d'un autre ordinateur pendant 12h, puis de nouveau un nouveau classeur le lendemain et ainsi de suite.

Le total des interventions ne répertorie donc, sur chaque classeur, que les interventions d'une période de 12h.

Seulement depuis le 1er Janvier 2018, les hautes autorités de santé me demandent d'avoir un comptage du nombre total d'interventions sur une période de 12 mois ! Du coup pour le moment à chaque fin de service, le régulateur envoie un mail avec le comptage de la journée que j'additionne manuellement dans un autre classeur prévu uniquement pour ça. C'est un peu fastidieux. C'est pour ça que j'aimerais développer une fonction en VBA permettant au simple clique d'un bouton, d'envoyer en ligne les comptages qui s'additionneraient chaque jour pour qu'à la fin de l'année on puisse sortir les chiffres.

Pour le moment, la solution qui me parait la plus réalisable serait d'envoyer les données choisies sur une base de donnée SQL en ligne, qui s'additionneraient automatiquement et que j'exploiterais via une page PHP/HTML consultable à tout moment.

Seulement ça me parait être un peu gourmand en terme de mise en place d'infrastructure (Exploitation d'une base de donnée + développement d'une page web) pour une simple gestion de quelques totaux.

J'ai donc pensé à exploiter un Google Sheet en ligne, ça serait moins fastidieux en terme de mise en oeuvre, dans la mesure ou je n'aurais pas de page web à créer, l'exploitation des résultats pourrait se faire plus simplement.

J'ai donc cherché un peu s'il était possible d'envoyer des données choisies sur un Google Sheet, mais la seule chose que je trouve c'est comment synchroniser l'ensemble d'un classeur Excel vers un Google Sheet ce qui ne convient pas du tout à ce que je cherche à faire.

Mes questions sont donc les suivantes:

- Est-il possible d'exploiter un Google Sheet avec une fonction VBA qui irait récupérer la valeur d'une cellule du Google Sheet pour y ajouter la valeur d'une cellule de mon classeur du jour (ou de la nuit) ?

OU

- Voyez-vous un moyen plus simple pour remplir cette tâche ?

Merci infiniment par avance pour vos réponses et toutes mes excuses pour le pavé que vous avez dû vous avaler pour répondre à mes 2 petites questions, mais j'ai à coeur d'être le plus explicite possible

Bonjour,

sujet intéressant et pas classique

bon, je ne connais pas google sheet

pour moi, une solution in fine assez simple quand on connait les codes, c'est en effet

  • avoir un serveur de "type LAMP" avec php et mysql
  • avoir défini une base de donnée
  • envoyer par une requête MSXML2.XMLHTTP, soit get, soit post (si plus de données), le serveur traitant en interne les informations et renvoyant un accusé de réception capté par l'exploitation du responseText

c'est un système qui permettrait de stocker beaucoup de données de façon sécurisée auprès de grands fournisseur de solutions mutualisées

Steelson, je t'avoue que je n'ai pas tout tout compris à ton explication.. Depuis que j'ai posté j'ai testé pas mal de trucs, j'ai essayé le système de base de donnée mais visiblement il faut installer un connecteur ODBC sur la machine qui va envoyer les données. Or ça parait compliqué de faire installer à tous mes régulateurs ce connecteur sur leur machine, d'autant plus que les régulateurs sont susceptibles de changer au cours de l'année. J'ai besoin d'une solution qui n'implique pas d'autre installation que celle de mon classeur Excel. En plus j'ai voulu essayé mais impossible moi même d'installer le connecteur sur mon Mac.

J'ai donc cherché d'avantage vers la solution "Google Sheets" et j'ai trouvé un début de solution. J'ai trouvé un bout de code sur un forum permettant de récupérer les données d'un Google Sheet et les importer dans mon classeur local:

Sub recupdonnéesweb()
'----préparation-----
Sheets("Feuil1").Select
Columns("A:A").Clear
'---------
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;url de la page google sheet concernée" _
, Destination:=Range("B:B"))
'.WebFormatting = xlWebFormattingNone
.Refresh BackgroundQuery:=False
ActiveWorkbook.Save
End With
End Sub

Ca fonctionne parfaitement, j'avais peur d'avoir du mal déjà à me connecter à ma feuille google sheet, mais ça fonctionne.. Maintenant ce qu'il me faut c'est une fonction faisant l'inverse de "QueryTables", c'est à dire qu'au lieu de LIRE les données de la feuille, j'aurais besoin d'aller écrire... Mais n'y connaissant rien du tout dans ce domaine, je m'en remet à vous, quelle fonction puis-je utiliser pour remplacer l'import de cette Sub par un export ?

Merci d'avance

- envoyer par une requête MSXML2.XMLHTTP, soit get, soit post (si plus de données), le serveur traitant en interne les informations et renvoyant un accusé de réception capté par l'exploitation du responseText

Je me suis renseigné sur ce type de requêtes. Mais le problème c'est qu'une bonne partie des régulateurs et moi même utilisons un Mac et je ne trouve pas les fichiers nécessaires à installer pour utiliser ces requêtes via un Mac.

Et encore une fois ça implique de faire installer des fichiers supplémentaires sur les machines des régulateurs :/

Bon courage

Je ne connais pas le monde Mac, donc je ne peux pas t'aider.

En fait, l'absence d'ODBC pose problème mais on peut s'en sortir avec des fichiers query (*.IQY).

Ensuite ??? je vais un poil explorer le sujet mais sans grande conviction de ma part.

Rechercher des sujets similaires à "envoyer donnees ligne mysql google sheets"