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 :

Envoyer des informations de Excel vers Internet Explorer


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Envoyer des informations de Excel vers Internet Explorer
    Bonjour,

    J'essaie en vain d'envoyer des informations d'une page Excel vers une page Web

    Mon classeur est ouvert et la page Web aussi .. je peux faire un ALT-TAB pour passer de un à l'autre. Dans la page Web, les champs à remplir n'ont pas de ID mais des noms ex.:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td width="12%" align="right" class="field"> <input type="text" name="8+_+1" value="" size="10" maxlength="8"><input type="hidden" name="taskDataKey" value="8+_+1"><input type="hidden" name="auxTDK8+_+1" value="1302805070000"></td>
    Idéalement, si la page Web n'est pas accessible par une seul ALT-TAB, j'aimerais que la macro la trouve parmi les fenêtres ouvertes (mais bon, je rêve peut-être en couleur!)

    Voici mon code, qui ne marche malheureusement pas :

    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
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    Private Sub CommandButton2_Click()
    Dim IE As InternetExplorer
    Dim elementHtml As Object
    
    SendKeys "%{TAB}"
    
    Set IE = activeWindows 'pas sûr du "ActiveWindows" 
    IE.Visible = True
    Dim bOk As Boolean
    Set elementHtml = IE.getElementByName("8+_+1")
    If Not elementHtml Is Nothing Then
    bOk = True
    elementHtml.Value = ActiveSheet.Cells(9, 10).Value 'je ne suis pas sûr du format 
    'elementHtml.Text = ActiveSheet.Cells(9, 10).Value 'option2
    'elementHtml.Value = Range("I10").Value 'option3 
    Else
    bOk = False
    End If
    Set elementHtml = IE.document.getElementByName("6+_+2")
    If Not elementHtml Is Nothing Then
    elementHtml.Value = Range("L10").Value
    End If
    Set elementHtml = IE.document.getElementByName("7+_+2")
    If Not elementHtml Is Nothing Then
    elementHtml.Value = Range("O10").Value
    End If
    Set elementHtml = IE.document.getElementByName("3+_+2")
    If Not elementHtml Is Nothing Then
    elementHtml.Value = Range("L10").Value
    End If
    Set elementHtml = IE.document.getElementByName("4+_+2")
    If Not elementHtml Is Nothing Then
    elementHtml.Value = Range("P10").Value
    End If
    Set elementHtml = IE.document.getElementByName("9+_+2")
    If Not elementHtml Is Nothing Then
    elementHtml.Value = Range("O10").Value
    End If
    
    SendKeys "{TAB}"
    SendKeys "{TAB}"
    SendKeys "{TAB}"
    SendKeys "{ENTER}"
    
    DoEvents
    
    Set IE = Nothing
    If bOk Then MsgBox "Transfert réussi !" Else MsgBox "Transfert échoué!"
    End Sub

    J'ai eu beau chercher autant comme autant, je n'ai pas trouvé

    Sauriez-vous me dire ce qui cloche dans mon code ?

    Votre aide est grandement appréciée !!

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Bonjour
    Essaies comme ceci
    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
    Private Sub CommandButton2_Click()
    Dim winShell As New ShellWindows
    Dim IE As InternetExplorer
    Dim Sh As Worksheet
    Dim stURL As String
     
    stURL = "http://www.dfp......"
    For Each IE In winShell
        If IE.LocationURL = stURL Then Exit For
    Next IE
    If Not IE Is Nothing Then
        Set Sh = ThisWorkbook.Worksheets("BASE")
        With IE.document
            .getElementByName("8+_+1").Value = Sh.Range("J" & 9).Value
            .getElementByName("6+_+2").Value = Sh.Range("L10").Value
            '.....etc
        End With
        Set Sh = Nothing
    Else
        MsgBox "Page internet non disponible."
    End If
    End Sub
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Rebonjour,

    Merci pour la réponse. Ça me retourne malheureusement une erreur d'exécution 438 (Propriété ou méthode non gérée par cet objet) à la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .getElementByName("8+_+1").Value = Sh.Range("I" & 10).Value
    J'ai aussi essayé sans succès :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .getElementByName("8+_+1").Value = Sh.Range("I10").Value
    Par ailleurs, la page Internet sécurisée a une adresse du genre :

    https://commande.bureaudelatraductio...31643261393634

    avec un paquet de chiffres qui peuvent probablement être différents d'une visite à l'autre (je ne suis pas sûr) alors je ne pourrais pas spécifier l'adresser complète ..

    Des idées ?

    Merci !!

Discussions similaires

  1. [Débuter] Envoyer des informations de C++ vers QML
    Par caymus dans le forum Qt Quick
    Réponses: 6
    Dernier message: 05/12/2012, 10h49
  2. Envoyer des mails d'excel vers Lotus Notes
    Par HERVE57 dans le forum Lotus Notes
    Réponses: 1
    Dernier message: 15/02/2012, 14h03
  3. [XL-2007] Copier-coller texte Excel vers internet ajoute des guillemets intempestifs
    Par cornelius59 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 11/10/2009, 21h31
  4. Envoyer des informations en POST vers une url en vb6
    Par bugz57 dans le forum VB 6 et antérieur
    Réponses: 14
    Dernier message: 18/06/2008, 08h59
  5. envoyer des informations du controleur vers la vue
    Par leon1983 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 22/05/2008, 15h36

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