IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

WinHttpRequest sans confirmation


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Août 2021
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Août 2021
    Messages : 6
    Par défaut WinHttpRequest sans confirmation
    Bonjour,

    Je pilote une préparation de commandes en VBA dans le petit entrepot où je travaille.
    Grosso modo, j'affiche à l'écran (et je l'annonce en vocale) l'emplacement de prélèvement,
    L'opérateur scanne l'emplacement,
    J'annonce la quantité à prélever et le bac de dépose.
    L'opérateur scanne le bac de dépose.

    Ça marche plutôt bien (voir même très bien)

    Je cherche à faire évoluer le système, pour ajouter des LED sur les emplacements de prélèvement.
    J'ai déjà mis en place un système similaire sur un scénario de ventilation.

    Pour le faire, j'ai créé un web serveur sur un Arduino, et j'envoie une requête vers ce serveur en VBA pour indiquer les Leds à allumer (ou à éteindre) via WinHttpRequest

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    31
    32
    33
    34
    35
    36
    37
    38
     
    Private Sub RequettePTL()
        Dim Envoi As Integer
        Dim PTL_envoi As Integer
        Dim Statut_envoi As Integer
        Dim whrReq As WinHttp.WinHttpRequest
        Dim strurl As String
     
        PTL_envoi = 0
        Statut_envoi = 0
        If PTL = 1 Then
           For Envoi = 1 To 3
                If Statut_envoi = 0 Then
                    Statut_envoi = 1
                    On Error GoTo ErrHandler
                    Set whrReq = New WinHttp.WinHttpRequest
                    strurl = "http://" & IP_PTL & "/" & LED & "PTL"
                    With whrReq
                        .Open "GET", strurl, False
                        .Send
                    End With
                End If
           Next Envoi
        End If
    Exit Sub
     
    ErrHandler:
        PTL_envoi = PTL_envoi + 1
        Statut_envoi = 0
        If PTL_envoi > 2 Then
            PTL = 0
                SuperTalk "Probléme de communication avec les afficheurs. On continue sans...", TTSSpeed, 100
        Else
                SuperTalk "Probléme de communication avec les afficheurs, je rééssaye", TTSSpeed, 100
        End If
        Resume Next
     
    End Sub
    Comme on peut le voir dans le code, si l'arduino ne réponds pas, au bout du time out, j'annonce que je rééssaye, puis au bout de 3 fois, je désactive le systéme LEDs.
    J'aimerais ne pas attendre la réponse de l'arduino.
    En gros, si ça fonctionne, ça s'allume, sinon, tant pis...

    Je n'ai pas trouvé comment le faire avec WinHttpRequest.
    Auriez-vous une idée de comment faire?

    Je vous remercie par avance!!!

  2. #2
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 249
    Par défaut
    Hello,
    tu peux essayer d'utiliser de l'UDP au lieu du TCP ( http utilise tcp) pour envoyer tes commandes :
    Le User Datagram Protocol (UDP, en français protocole de datagramme utilisateur) est un des principaux protocoles de télécommunication utilisés par Internet. Il fait partie de la couche transport du modèle OSI, quatrième couche de ce modèle, comme TCP. Il a été défini en 1980 par David P. Reed (en) et est détaillé dans la RFC 7681.
    Le rôle de ce protocole est de permettre la transmission de données (sous forme de datagrammes) de manière très simple entre deux entités, chacune étant définie par une adresse IP et un numéro de port. Aucune communication préalable n'est requise pour établir la connexion, au contraire de TCP (qui utilise le procédé de handshaking). UDP utilise un mode de transmission sans connexion.
    Par contre pour l'utiliser dans VBA cela ne doit pas être simple.
    Ami calmant, J.P

  3. #3
    Membre du Club
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Août 2021
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Août 2021
    Messages : 6
    Par défaut
    Merci pour vos retours.
    C'est bien ce que j'imaginais.
    Il faut maintenant que je trouve comment faire cela.

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/03/2008, 16h57
  2. Suppression d'entrées sans confirmation
    Par adrien.gendre dans le forum VBA Access
    Réponses: 2
    Dernier message: 18/07/2007, 12h24
  3. Fermer une fenêtre sans confirmation
    Par ZACKX dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 30/04/2007, 09h55
  4. Réponses: 2
    Dernier message: 10/04/2007, 13h03
  5. Comment Envoyé un mail auto sans confirmation.
    Par Az3rTy dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 30/07/2006, 21h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo