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 :

programmer un code vba qui automatise le virement de données d'un tableau excel à un formulaire dans le web [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Points : 61
    Points
    61
    Par défaut programmer un code vba qui automatise le virement de données d'un tableau excel à un formulaire dans le web
    Bonjour,

    Comme vous l'avez compris je veux allouer à chaque donnée dans une cellule d'un tableau d'un fichier excel un emplacement dans un formulaire qui se trouve dans le web.

    Est ce que c'est possible et si c'est le cas merçi de m'aider.

    Cordialement,
    SKIP

  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
    Une exemple
    Activer la référence Microsoft Internet Controls
    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
    Sub IE_ATTENTE(ByVal IE As InternetExplorer)
     
    Do While IE.readyState <> READYSTATE_INTERACTIVE
        DoEvents
    Loop
    Do While IE.readyState <> READYSTATE_COMPLETE
        DoEvents
    Loop
    End Sub
     
    Sub REMPLISSAGE()
    Dim IE As New InternetExplorer
    Dim Sh As Worksheet
     
    Const stURL As String = "http://www.xxx.yyy"
     
    IE.navigate stURL
    IE.Visible = True
    IE_ATTENTE IE
    Set Sh = ThisWorkbook.Worksheets("BASE")
    With IE.Document
    'MATRICULE
        .getElementsByName("Stagiaires_CIn").Item.Value = Sh.Range("A1").Value
    'SEXE (Liste M/F)
        .getElementsByName("v_sexestag").Item.Value = Sh.Range("B1").Value
    'NOM & PRENOM
        .getElementsByName("Stagiaires_nom").Item.Value = UCase(Trim(Sh.Range("C2").Value))
    'ADRESSE
        .getElementsByName("Stagiaires_Adresse").Item.Value = UCase(Trim(Sh.Range("D2").Value))
    'VILLE (Liste)
        .getElementsByName("Stagiaires_ville").Item.Value = Sh.Range("E2").Value
    'DATE DE NAISSANCE
        .getElementsByName("Stagiaires_Datenaiss").Item.Value = Format(CDate(Sh.Range("H2").Value), "dd/mm/yyyy")
    End With
    End Sub
    les .getElementsByName("toto") correspondent au nom de champs de ta page web (regarde le code source de ta page pour dénicher ces noms)
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Points : 61
    Points
    61
    Par défaut
    Bonjour Mercatog,

    Qu'est ce que je dois changer dans le code, moi à ce que je vois les éléments à changer sont:
    Le nom du site internet qui est "http://www.xxx.yyy".
    Le nom de la feuille qui est "BASE".
    Et les noms des éléments que je dois faire rentrer dans le formulaire comme:
    "Stagiaires_CIn","v_sexestag","Stagiaires_nom","Stagiaires_Adresse",etc...

    Est ce que c'est bon?

    Et merçi d'avance.
    SKIP

  4. #4
    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
    Oui c'est ça. et aussi les cellule que tu veux exporter vers ta page web
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Points : 61
    Points
    61
    Par défaut
    Bonjour,

    J'ai un problème c'est que quand j'exécute la macro il y a une erreur de compilation qui survient : "Type défini par l'utilisateur non défini". Et il fait fait à la première ligne du code c'est à dire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sub IE_ATTENTE(ByVal IE As InternetExplorer)
    Vous savez pas de quoi s'agit il exactement?

    Cdt,
    SKIP

  6. #6
    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
    Activer la référence Microsoft Internet Controls
    tu n'avais pas lu cette ligne
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Points : 61
    Points
    61
    Par défaut
    ça y est ça marches.

    Juste une chose: quand j'affecte à une liste déroulante dans le formulaire la valeur qu'elle doit avoir, il y'a d'autres informations du formulaire qui s'affichent. Mais quand je fais l'affectation par Macro, les autres informations ne s'affichent pas.
    Normalement le code source de la page quand je procède en macro c'est celui là:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <option value="1">pc portable</option>
    Mais quand je le fais manuellement le code source est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <option value="1" selected="selected">pc portable</option>
    Vous ne saurez pas comment faire pour intégrer cette opération directement dans la Macro.

    et merçi d'avance.

    Cdt,
    SKIP

  8. #8
    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
    essaie juste après l'envoi de la valeur de ta listbox d'ajouterpour attendre la mise à jour des autres champs
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Points : 61
    Points
    61
    Par défaut
    Non ça marches pas.

    En fait moi je veux que les informations complémentaire du formulaire s'affichent, pour que je puisse procéder au virement des valeurs qui sont dans excel vers le formulaire.
    Parce qu'en premier lieu, je dois choisir une première catégorie dans une liste, après une deuxième liste s'affiche qui contient des sous catégories et j'en choisis une, et en dernier 2 boutons s'affiche et j'en sélectionne un. Enfin le formulaire dont les informations doivent être importés du fichier excel s'affichent.

    Voilà!
    Merçi de m'éclairer.
    SKIP

  10. #10
    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
    Je ne peux pas deviner plus, ton site est confidentiel ou public? tu peux mettre le lien?
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Points : 61
    Points
    61
    Par défaut
    Bonjour,

    Désolé, mais je ne peux pas c'est confidentiel.

    Mais vous ne savez pas de quoi il s'agit. Normalement je vous ai bien expliqué le problème:

    Quand je sélectionne manuellement la catégorie, la sous catégorie s'affiche.
    Mais quand je le fais avec la Macro, la sous catégorie ne s'affiche pas.

    Cdt,
    SKIP

  12. #12
    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
    Et comment tu sélectionne un item de ta liste déroulante?
    je crois que tu devrais mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    .getElementsByName("NomdeTaListe").Item.Value = 1' Il faut mettre "l'index ou l'id" et nom la valeur affichée
    'Pour le pc-portable la valeur à mettre est 1
    IE_Attente IE 'pour attendre la mise à jour de la sous Liste liée à ta liste de départ
    Ce sont là des suppositions
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Points : 61
    Points
    61
    Par défaut
    Le code qu'il fallait que j'ajoute c'est celui là:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    .Forms(0).submit
    IE_ATTENTE IE
    Merçi encore!!!

    Cdt,
    SKIP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Code VBA qui modifie du Code VBA ?
    Par tictactoc dans le forum Excel
    Réponses: 2
    Dernier message: 30/07/2009, 09h43
  2. programme en vba qui permet le transfert des données word vers excel
    Par progaide dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/06/2009, 17h28
  3. [E-00] Code VBA qui insère du code VBA
    Par _Sool_ dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 25/11/2008, 09h16
  4. code vba qui fonctionnes plus du jour au lendemain
    Par alexkickstand dans le forum VBA Access
    Réponses: 1
    Dernier message: 29/07/2008, 16h41
  5. Code VBA qui supprime une requête
    Par Fredo67 dans le forum VBA Access
    Réponses: 2
    Dernier message: 28/05/2008, 17h47

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